x86, MM: virtual address debug, v2
authorJiri Slaby <jirislaby@gmail.com>
Thu, 12 Jun 2008 11:56:40 +0000 (13:56 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 19 Jun 2008 11:32:22 +0000 (13:32 +0200)
I've removed the test from phys_to_nid and made a function from __phys_addr
only when the debugging is enabled (on x86_32).

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: tglx@linutronix.de
Cc: hpa@zytor.com
Cc: Mike Travis <travis@sgi.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: <x86@kernel.org>
Cc: linux-mm@kvack.org
Cc: Jiri Slaby <jirislaby@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/ioremap.c
include/asm-x86/mmzone_64.h
include/asm-x86/page_32.h

index a78ffef62a2bf2f67e5a512e0a847289d75f726f..9dd3cb905971a103498f7c7381bd811abf767e5c 100644 (file)
@@ -51,6 +51,7 @@ static inline int phys_addr_valid(unsigned long addr)
        return 1;
 }
 
+#ifdef CONFIG_DEBUG_VIRTUAL
 unsigned long __phys_addr(unsigned long x)
 {
        /* VMALLOC_* aren't constants; not available at the boot time */
@@ -59,6 +60,7 @@ unsigned long __phys_addr(unsigned long x)
        return x - PAGE_OFFSET;
 }
 EXPORT_SYMBOL(__phys_addr);
+#endif
 
 #endif
 
index facde3e5314f23bf4e101e93344bf83898f46f29..5e3a6cbddb49700345fb89fc8a8c6ff350693285 100644 (file)
@@ -29,7 +29,6 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr)
 {
        unsigned nid;
        VIRTUAL_BUG_ON(!memnodemap);
-       VIRTUAL_BUG_ON((addr >> memnode_shift) >= memnodemapsize);
        nid = memnodemap[addr >> memnode_shift];
        VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
        return nid;
index 9159bfb9dcf9194000470995354d48ef4b2acec2..71a2e424e5849d0ed96ea2e9d025ed76538899ad 100644 (file)
@@ -65,7 +65,11 @@ typedef struct page *pgtable_t;
 
 #ifndef __ASSEMBLY__
 #define __phys_addr_const(x)   ((x) - PAGE_OFFSET)
+#ifdef CONFIG_DEBUG_VIRTUAL
 extern unsigned long __phys_addr(unsigned long);
+#else
+#define __phys_addr(x)         ((x) - PAGE_OFFSET)
+#endif
 #define __phys_reloc_hide(x)   RELOC_HIDE((x), 0)
 
 #ifdef CONFIG_FLATMEM