Re: [PATCH 5/6] Have ia64 use add_active_range() and free_area_init_nodes
From: Andy Whitcroft <hidden>
Date: 2006-05-15 11:04:08
Also in:
linux-mm, lkml
KAMEZAWA Hiroyuki wrote:
On Mon, 15 May 2006 11:19:27 +0100 Andy Whitcroft [off-list ref] wrote:quoted
Nick Piggin wrote:quoted
Andy Whitcroft wrote:quoted
Interesting. You are correct there was no config component, at the time I didn't have direct evidence that any architecture needed it, only that we had an unchecked requirement on zones, a requirement that had only recently arrived with the changes to free buddy detection. I note thatRecently arrived? Over a year ago with the no-buddy-bitmap patches, right? Just checking because I that's what I'm assuming broke it...Yep, sorry I forget I was out of the game for 6 months! And yes that was when the requirements were altered.When no-bitmap-buddy patches was included, 1. bad_range() is not covered by CONFIG_VM_DEBUG. It always worked. == static int bad_range(struct zone *zone, struct page *page) { if (page_to_pfn(page) >= zone->zone_start_pfn + zone->spanned_pages) return 1; if (page_to_pfn(page) < zone->zone_start_pfn) return 1; == And , this code == buddy = __page_find_buddy(page, page_idx, order); if (bad_range(zone, buddy)) break; == checked whether buddy is in zone and guarantees it to have page struct. But clean-up/speed-up codes vanished these checks. (I don't know when this occurs) Sorry for misses these things.
Heh, sorry to make it sound like it was you who was responsible. -apw