Re: [PATCH 0/6] [RFC] Sizing zones and holes in an architectureindependent manner

From: Mel Gorman
Date: Wed Apr 12 2006 - 13:33:02 EST


On Wed, 12 Apr 2006, Luck, Tony wrote:

On Wed, Apr 12, 2006 at 05:00:32PM +0100, Mel Gorman wrote:
Patch is attached as 105-ia64_use_init_nodes.patch until I beat sense into
my mail setup. I've added Bob Picco to the cc list as he will hit the same
issue with whitespace corruption.

Next I tried building a "generic" kernel (using arch/ia64/defconfig). This
has NUMA=y and DISCONTIG=y). This crashes with the following console log.


<snipped>
add_active_range(0, 0, 4096): New
add_active_range(0, 0, 131072): New
add_active_range(0, 0, 131072): New
add_active_range(0, 393216, 523264): New
add_active_range(0, 393216, 523264): New
add_active_range(0, 393216, 524288): New
add_active_range(0, 393216, 524288): New

This is where it started going wrong. I did not expect add_active_range() to be called with overlapping PFNs so they were not getting merged. If they were getting merged correctly, I'd expect the output to be

add_active_range(0, 0, 4096): New
add_active_range(0, 0, 131072): Merging forward
add_active_range(0, 0, 131072): Merging forward
add_active_range(0, 393216, 523264): New
add_active_range(0, 393216, 523264): Merging forward
add_active_range(0, 393216, 524288): Merging forward
add_active_range(0, 393216, 524288): Merging forward

Virtual mem_map starts at 0xa0007ffffe400000
Dumping sorted node map
entry 0: 0 0 -> 131072
entry 1: 0 0 -> 4096
entry 2: 0 0 -> 131072
entry 3: 0 393216 -> 523264
entry 4: 0 393216 -> 524288
entry 5: 0 393216 -> 524288
entry 6: 0 393216 -> 523264
Hole found index 0: 0 -> 0
prev_end > start_pfn : 131072 > 0

And here is where it goes BLAM. Without the debugging patch, the check is just;

BUG_ON(prev_end_pfn > start_pfn);

The error I was *expecting* to catch was an unsorted node map. It's just nice it caught this situation as well. It'll take a while to fix this up properly.

Thanks

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/