From: Andy Whitcroft Originally __free_pages_bulk used the relative page number within a zone to define its buddies. This meant that to maintain the "maximally aligned" requirements (that an allocation of size N will be aligned at least to N physically) zones had to also be aligned to 1< Cc: Christoph Lameter Signed-off-by: Andrew Morton --- mm/page_alloc.c | 4 ---- 1 files changed, 4 deletions(-) diff -puN mm/page_alloc.c~remove-bogus-warning-in-page_allocc mm/page_alloc.c --- devel/mm/page_alloc.c~remove-bogus-warning-in-page_allocc 2005-07-08 23:11:19.000000000 -0700 +++ devel-akpm/mm/page_alloc.c 2005-07-08 23:11:19.000000000 -0700 @@ -1861,7 +1861,6 @@ static void __init free_area_init_core(s unsigned long *zones_size, unsigned long *zholes_size) { unsigned long i, j; - const unsigned long zone_required_alignment = 1UL << (MAX_ORDER-1); int cpu, nid = pgdat->node_id; unsigned long zone_start_pfn = pgdat->node_start_pfn; @@ -1934,9 +1933,6 @@ static void __init free_area_init_core(s zone->zone_mem_map = pfn_to_page(zone_start_pfn); zone->zone_start_pfn = zone_start_pfn; - if ((zone_start_pfn) & (zone_required_alignment-1)) - printk(KERN_CRIT "BUG: wrong zone alignment, it will crash\n"); - memmap_init(size, nid, j, zone_start_pfn); zonetable_add(zone, nid, j, zone_start_pfn, size); _