--- arch/x86_64/Kconfig | 18 ------------------ arch/x86_64/defconfig | 9 +-------- arch/x86_64/mm/numa.c | 19 ------------------- include/asm-x86_64/mmzone.h | 6 ------ 4 files changed, 1 insertion(+), 51 deletions(-) Index: vmemmap/arch/x86_64/Kconfig =================================================================== --- vmemmap.orig/arch/x86_64/Kconfig 2007-06-07 17:16:41.000000000 -0700 +++ vmemmap/arch/x86_64/Kconfig 2007-06-07 17:17:29.000000000 -0700 @@ -387,18 +387,8 @@ config NUMA_EMU into virtual nodes when booted with "numa=fake=N", where N is the number of nodes. This is only useful for debugging. -config ARCH_DISCONTIGMEM_ENABLE - bool - depends on NUMA - default y - -config ARCH_DISCONTIGMEM_DEFAULT - def_bool y - depends on NUMA - config ARCH_SPARSEMEM_ENABLE def_bool y - depends on (NUMA || EXPERIMENTAL) config ARCH_MEMORY_PROBE def_bool y @@ -410,18 +400,10 @@ config ARCH_FLATMEM_ENABLE source "mm/Kconfig" -config MEMORY_HOTPLUG_RESERVE - def_bool y - depends on (MEMORY_HOTPLUG && DISCONTIGMEM) - config HAVE_ARCH_EARLY_PFN_TO_NID def_bool y depends on NUMA -config OUT_OF_LINE_PFN_TO_PAGE - def_bool y - depends on DISCONTIGMEM - config NR_CPUS int "Maximum number of CPUs (2-255)" range 2 255 Index: vmemmap/arch/x86_64/defconfig =================================================================== --- vmemmap.orig/arch/x86_64/defconfig 2007-06-07 17:17:33.000000000 -0700 +++ vmemmap/arch/x86_64/defconfig 2007-06-07 17:17:57.000000000 -0700 @@ -150,14 +150,7 @@ CONFIG_K8_NUMA=y CONFIG_NODES_SHIFT=6 CONFIG_X86_64_ACPI_NUMA=y CONFIG_NUMA_EMU=y -CONFIG_ARCH_DISCONTIGMEM_ENABLE=y -CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_DISCONTIGMEM_MANUAL=y -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_DISCONTIGMEM=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_NEED_MULTIPLE_NODES=y # CONFIG_SPARSEMEM_STATIC is not set Index: vmemmap/arch/x86_64/mm/numa.c =================================================================== --- vmemmap.orig/arch/x86_64/mm/numa.c 2007-06-07 17:18:12.000000000 -0700 +++ vmemmap/arch/x86_64/mm/numa.c 2007-06-07 17:18:19.000000000 -0700 @@ -629,23 +629,4 @@ EXPORT_SYMBOL(node_to_cpumask); EXPORT_SYMBOL(memnode); EXPORT_SYMBOL(node_data); -#ifdef CONFIG_DISCONTIGMEM -/* - * Functions to convert PFNs from/to per node page addresses. - * These are out of line because they are quite big. - * They could be all tuned by pre caching more state. - * Should do that. - */ -int pfn_valid(unsigned long pfn) -{ - unsigned nid; - if (pfn >= num_physpages) - return 0; - nid = pfn_to_nid(pfn); - if (nid == 0xff) - return 0; - return pfn >= node_start_pfn(nid) && (pfn) < node_end_pfn(nid); -} -EXPORT_SYMBOL(pfn_valid); -#endif Index: vmemmap/include/asm-x86_64/mmzone.h =================================================================== --- vmemmap.orig/include/asm-x86_64/mmzone.h 2007-06-07 17:18:35.000000000 -0700 +++ vmemmap/include/asm-x86_64/mmzone.h 2007-06-07 17:18:43.000000000 -0700 @@ -41,12 +41,6 @@ static inline __attribute__((pure)) int #define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \ NODE_DATA(nid)->node_spanned_pages) -#ifdef CONFIG_DISCONTIGMEM -#define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT) - -extern int pfn_valid(unsigned long pfn); -#endif - #ifdef CONFIG_NUMA_EMU #define FAKE_NODE_MIN_SIZE (64*1024*1024) #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1uL))