Re: [PATCH 5/6] Have ia64 use add_active_range() and free_area_init_nodes
From: Mel Gorman <hidden>
Date: 2006-05-15 22:44:43
Also in:
linux-mm, lkml
quoted hunk ↗ jump to hunk
diff -rup -X /usr/src/patchset-0.5/bin//dontdiff linux-2.6.17-rc4-mm4-clean/mm/page_alloc.c linux-2.6.17-rc4-mm4-ia64_force_alignment/mm/page_alloc.c--- linux-2.6.17-rc4-mm4-clean/mm/page_alloc.c 2006-05-15 10:37:55.000000000 +0100 +++ linux-2.6.17-rc4-mm4-ia64_force_alignment/mm/page_alloc.c 2006-05-15 13:10:42.000000000 +0100@@ -2640,14 +2640,20 @@ void __init free_area_init_nodes(unsigne{ unsigned long nid; int zone_index; + unsigned long lowest_pfn = find_min_pfn_with_active_regions(); + + lowest_pfn = zone_boundary_align_pfn(lowest_pfn); + arch_max_dma_pfn = zone_boundary_align_pfn(arch_max_dma_pfn); + arch_max_dma32_pfn = zone_boundary_align_pfn(arch_max_dma32_pfn); + arch_max_low_pfn = zone_boundary_align_pfn(arch_max_low_pfn); + arch_max_high_pfn = zone_boundary_align_pfn(arch_max_high_pfn); /* Record where the zone boundaries are */ memset(arch_zone_lowest_possible_pfn, 0, sizeof(arch_zone_lowest_possible_pfn)); memset(arch_zone_highest_possible_pfn, 0, sizeof(arch_zone_highest_possible_pfn)); - arch_zone_lowest_possible_pfn[ZONE_DMA] = - find_min_pfn_with_active_regions(); + arch_zone_lowest_possible_pfn[ZONE_DMA] = lowest_pfn; arch_zone_highest_possible_pfn[ZONE_DMA] = arch_max_dma_pfn; arch_zone_highest_possible_pfn[ZONE_DMA32] = arch_max_dma32_pfn; arch_zone_highest_possible_pfn[ZONE_NORMAL] = arch_max_low_pfn;
Ok, this patch is broken in a number of ways. It doesn't help the IA64 problem at all and two other machine configurations failed with the patch applied during regression testing. Please drop and I'll figure out what the correct solution is to your IA64 machine not booting. -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab