From: Andy Whitcroft We are reporting bad boundaries for the first zone which is allowed to be missaligned because nodes are not allowed to be missaligned, and zones which have zero size. Cull them. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton --- mm/page_alloc.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff -puN mm/page_alloc.c~zone-init-check-and-report-unaligned-zone-boundaries-fix-v2 mm/page_alloc.c --- devel/mm/page_alloc.c~zone-init-check-and-report-unaligned-zone-boundaries-fix-v2 2006-05-18 12:29:14.000000000 -0700 +++ devel-akpm/mm/page_alloc.c 2006-05-18 12:29:14.000000000 -0700 @@ -2079,10 +2079,6 @@ static void __init free_area_init_core(s struct zone *zone = pgdat->node_zones + j; unsigned long size, realsize; - if (zone_boundary_align_pfn(zone_start_pfn) != zone_start_pfn) - printk(KERN_CRIT "node %d zone %s misaligned " - "start pfn\n", nid, zone_names[j]); - realsize = size = zones_size[j]; if (zholes_size) realsize -= zholes_size[j]; @@ -2091,6 +2087,11 @@ static void __init free_area_init_core(s nr_kernel_pages += realsize; nr_all_pages += realsize; + if (zone_boundary_align_pfn(zone_start_pfn) != + zone_start_pfn && j != 0 && size != 0) + printk(KERN_CRIT "node %d zone %s misaligned " + "start pfn\n", nid, zone_names[j]); + zone->spanned_pages = size; zone->present_pages = realsize; zone->name = zone_names[j]; _