Re: [PATCH] Factor in buddy allocator alignment requirements in nodememory alignment

From: Andy Whitcroft
Date: Tue May 17 2005 - 09:21:18 EST


Andrea Arcangeli wrote:
> On Mon, May 16, 2005 at 01:47:19PM -0700, Dave Hansen wrote:
>
>>Just because it complains doesn't mean that anything is actually
>>wrong :)
>>
>>Do you know which pieces of code actually break if the alignment doesn't
>>meet what that warning says?
>
>
> Be sure in early 2001 the alpha wildfire wasn't booting without having
> natural alingment from the 2^order allocation, after several days of
> debugging and crashing eventually I figured it out and added the printk
> (it couldn't be a BUG since it was early in the boot to see it). The
> kernel stack on x86 w/o 4k stacks depends on the natural alignment of
> the 2^order buddy allocations for example. No idea how much other code
> would break with not naturally aligned 2^order allocations.

Absolutly there are cases which will break if the alignment of
allocations arn't correct. The key here is the free algorithm will now
correctly merge buddies at the physical alignement. This allows the
boundries of the zones to be miss-aligned. Partial pages simply have no
buddies at the nigher level and do not coalesce. The warning is
checking for such a miss-alignment and now is no longer required.

-apw
-
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/