From: Andrew Morton Drop this. x86_64-allocate-sparsemem-memmap-above-4g.patch is better. Cc: Zou Nan hai Cc: Andi Kleen Cc: Siddha, Suresh Signed-off-by: Andrew Morton --- include/asm-x86_64/mmzone.h | 5 ----- include/linux/bootmem.h | 3 --- mm/sparse.c | 5 ----- 3 files changed, 13 deletions(-) diff -puN include/asm-x86_64/mmzone.h~revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64 include/asm-x86_64/mmzone.h --- a/include/asm-x86_64/mmzone.h~revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64 +++ a/include/asm-x86_64/mmzone.h @@ -52,10 +52,5 @@ extern int pfn_valid(unsigned long pfn); #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1uL)) #endif -#define ARCH_HAS_ALLOC_BOOTMEM_HIGH_NODE 1 -#define alloc_bootmem_high_node(pgdat,size) \ -({__alloc_bootmem_core(pgdat->bdata, size, SMP_CACHE_BYTES, (4UL*1024*1024*1024), 0);}) - - #endif #endif diff -puN include/linux/bootmem.h~revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64 include/linux/bootmem.h --- a/include/linux/bootmem.h~revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64 +++ a/include/linux/bootmem.h @@ -132,8 +132,5 @@ extern void *alloc_large_system_hash(con #endif extern int hashdist; /* Distribute hashes across NUMA nodes? */ -#ifndef ARCH_HAS_ALLOC_BOOTMEM_HIGH_NODE -#define alloc_bootmem_high_node(pgdat, size) ({NULL;}) -#endif #endif /* _LINUX_BOOTMEM_H */ diff -puN mm/sparse.c~revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64 mm/sparse.c --- a/mm/sparse.c~revert-x86_64-mm-allocate-sparsemem-memmap-above-4g-on-x86_64 +++ a/mm/sparse.c @@ -230,11 +230,6 @@ static struct page __init *sparse_early_ if (map) return map; - map = alloc_bootmem_high_node(NODE_DATA(nid), - sizeof(struct page) * PAGES_PER_SECTION); - if (map) - return map; - map = alloc_bootmem_node(NODE_DATA(nid), sizeof(struct page) * PAGES_PER_SECTION); if (map) _