Bob Picco e984bb43f7 [PATCH] Align the node_mem_map endpoints to a MAX_ORDER boundary
Andy added code to buddy allocator which does not require the zone's
endpoints to be aligned to MAX_ORDER.  An issue is that the buddy allocator
requires the node_mem_map's endpoints to be MAX_ORDER aligned.  Otherwise
__page_find_buddy could compute a buddy not in node_mem_map for partial
MAX_ORDER regions at zone's endpoints.  page_is_buddy will detect that
these pages at endpoints are not PG_buddy (they were zeroed out by bootmem
allocator and not part of zone).  Of course the negative here is we could
waste a little memory but the positive is eliminating all the old checks
for zone boundary conditions.

SPARSEMEM won't encounter this issue because of MAX_ORDER size constraint
when SPARSEMEM is configured.  ia64 VIRTUAL_MEM_MAP doesn't need the logic
either because the holes and endpoints are handled differently.  This
leaves checking alloc_remap and other arches which privately allocate for
node_mem_map.

Signed-off-by: Bob Picco <bob.picco@hp.com>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-05-21 12:59:22 -07:00
..
2006-03-31 12:18:48 -08:00
2006-05-01 06:10:04 -04:00
2006-03-28 09:16:05 -08:00
2006-03-27 08:44:59 -08:00
2006-03-27 08:44:59 -08:00
2006-03-31 12:18:54 -08:00
2006-04-02 00:08:05 -05:00
2006-04-11 06:18:35 -07:00
2006-03-26 08:56:56 -08:00
2006-03-27 08:44:51 -08:00
2006-03-26 08:56:56 -08:00
2006-04-27 13:08:56 -07:00
2006-04-29 18:33:15 -07:00
2006-03-27 08:44:52 -08:00
2006-04-11 06:18:39 -07:00
2006-04-19 09:13:53 -07:00
2006-03-27 08:44:48 -08:00
2006-05-04 06:55:12 +02:00
2006-03-27 08:44:51 -08:00
2006-05-01 06:09:56 -04:00
2006-04-02 00:08:05 -05:00
2006-03-28 09:16:05 -08:00
2006-03-26 08:57:03 -08:00
2006-03-31 12:18:56 -08:00
2006-03-26 08:57:00 -08:00
2006-03-28 09:16:05 -08:00