The patch titled
Remove bogus warning in page_alloc.c
has been added to the -mm tree. Its filename is
remove-bogus-warning-in-page_allocc.patch
Patches currently in -mm which might be from [EMAIL PROTECTED] are
sparsemem-extreme.patch
remove-bogus-warning-in-page_allocc.patch
kgdb-ga.patch
From: Andy Whitcroft <[EMAIL PROTECTED]>
Originally __free_pages_bulk used the relative page number within a zone to
define its buddies. This meant that to maintain the "maximally aligned"
requirements (that an allocation of size N will be aligned at least to N
physically) zones had to also be aligned to 1<<MAX_ORDER pages. When
__free_pages_bulk was updated to use the relative page frame numbers of the
free'd pages to pair buddies this released the alignment constraint on the
'left' edge of the zone. This allows _either_ edge of the zone to contain
partial MAX_ORDER sized buddies. These simply never will have matching
buddies and thus will never make it to the 'top' of the pyramid.
The patch below removes a now redundant check ensuring that the mem_map was
aligned to MAX_ORDER.
Signed-off-by: Andy Whitcroft <[EMAIL PROTECTED]>
Cc: Christoph Lameter <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---
mm/page_alloc.c | 4 ----
1 files changed, 4 deletions(-)
diff -puN mm/page_alloc.c~remove-bogus-warning-in-page_allocc mm/page_alloc.c
--- 25/mm/page_alloc.c~remove-bogus-warning-in-page_allocc Fri Jul 8
16:20:13 2005
+++ 25-akpm/mm/page_alloc.c Fri Jul 8 16:20:13 2005
@@ -1923,7 +1923,6 @@ static void __init free_area_init_core(s
unsigned long *zones_size, unsigned long *zholes_size)
{
unsigned long i, j;
- const unsigned long zone_required_alignment = 1UL << (MAX_ORDER-1);
int cpu, nid = pgdat->node_id;
unsigned long zone_start_pfn = pgdat->node_start_pfn;
@@ -1996,9 +1995,6 @@ static void __init free_area_init_core(s
zone->zone_mem_map = pfn_to_page(zone_start_pfn);
zone->zone_start_pfn = zone_start_pfn;
- if ((zone_start_pfn) & (zone_required_alignment-1))
- printk(KERN_CRIT "BUG: wrong zone alignment, it will
crash\n");
-
memmap_init(size, nid, j, zone_start_pfn);
zonetable_add(zone, nid, j, zone_start_pfn, size);
_
-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html