On Fri, 2006-05-05 at 09:55 -0400, Bob Picco wrote: > - if (!page_is_buddy(buddy, order)) > + if (page_in_zone_hole(buddy)) > + break; > + else if (page_zonenum(buddy) != page_zonenum(page)) > + break; > + else if (!page_is_buddy(buddy, order)) > break; /* Move the buddy up one level. */ The page_zonenum() checks look good, but I'm not sure I understand the page_in_zone_hole() part. If a page is in a hole in a zone, it will still have a valid mem_map entry, right? It should also never have been put into the allocator, so it also won't ever be coalesced. I'm a bit confused. :( BTW, I like the idea of just aligning HIGHMEM's start because it has no runtime cost. Buuuuut, it is still just a shift and compare of the two page->flags, which should already be (or will soon anyway be) in the cache. -- Dave - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: "Bob Picco" <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- References:
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: Ingo Molnar <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: Andi Kleen <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: "Martin J. Bligh" <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: Nick Piggin <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: "Bob Picco" <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: Dave Hansen <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: "Bob Picco" <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: Ingo Molnar <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: "Bob Picco" <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: Andy Whitcroft <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- From: "Bob Picco" <[email protected]>
- Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- Prev by Date: Re: [PATCH 7/7] uts namespaces: Implement CLONE_NEWUTS flag
- Next by Date: Re: [PATCH 6/13: eCryptfs] Superblock operations
- Previous by thread: Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- Next by thread: Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
- Index(es):