--- arch/x86/Kconfig.x86_64 | 8 -------- arch/x86/configs/x86_64_defconfig | 9 --------- arch/x86/kernel/machine_kexec_64.c | 5 ----- arch/x86/mm/numa_64.c | 19 ------------------- include/asm-x86/mmzone_64.h | 6 ------ 5 files changed, 47 deletions(-) Index: linux-2.6/include/asm-x86/mmzone_64.h =================================================================== --- linux-2.6.orig/include/asm-x86/mmzone_64.h 2007-11-12 18:08:20.719613489 -0800 +++ linux-2.6/include/asm-x86/mmzone_64.h 2007-11-12 18:08:45.555593594 -0800 @@ -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)) Index: linux-2.6/arch/x86/Kconfig.x86_64 =================================================================== --- linux-2.6.orig/arch/x86/Kconfig.x86_64 2007-11-12 18:09:10.376094630 -0800 +++ linux-2.6/arch/x86/Kconfig.x86_64 2007-11-12 18:09:35.923593982 -0800 @@ -424,18 +424,10 @@ config ARCH_MEMORY_PROBE 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: linux-2.6/arch/x86/configs/x86_64_defconfig =================================================================== --- linux-2.6.orig/arch/x86/configs/x86_64_defconfig 2007-11-12 18:09:54.520344102 -0800 +++ linux-2.6/arch/x86/configs/x86_64_defconfig 2007-11-12 18:10:22.251613847 -0800 @@ -145,15 +145,6 @@ 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_FLAT_NODE_MEM_MAP=y CONFIG_NEED_MULTIPLE_NODES=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4 Index: linux-2.6/arch/x86/kernel/machine_kexec_64.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/machine_kexec_64.c 2007-11-12 18:10:36.655593789 -0800 +++ linux-2.6/arch/x86/kernel/machine_kexec_64.c 2007-11-12 18:10:46.155593464 -0800 @@ -234,10 +234,5 @@ NORET_TYPE void machine_kexec(struct kim void arch_crash_save_vmcoreinfo(void) { VMCOREINFO_SYMBOL(init_level4_pgt); - -#ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE - VMCOREINFO_SYMBOL(node_data); - VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); -#endif } Index: linux-2.6/arch/x86/mm/numa_64.c =================================================================== --- linux-2.6.orig/arch/x86/mm/numa_64.c 2007-11-12 18:10:55.463845070 -0800 +++ linux-2.6/arch/x86/mm/numa_64.c 2007-11-12 18:11:14.259593775 -0800 @@ -626,23 +626,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