Re: [PATCH] [11/18] Fix alignment bug in bootmem allocator

From: Yinghai Lu
Date: Mon Mar 17 2008 - 03:54:00 EST


On Mon, Mar 17, 2008 at 12:41 AM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> > when node_boot_start is 512M alignment, and align is 1024M, offset
> > could be 512M. it seems
> > i = ALIGN(i, incr) need to do sth with offset...
>
> It's possible that there are better fixes for this, but at least
> my simple patch seems to work here. I admit I was banging my
> head against this for some time and when I did the fix I just
> wanted the bug to go away and didn't really go for subtleness.
>
> The bootmem allocator is quite spaghetti in fact, it could
> really need some general clean up (although it's' not quite
> as bad yet as page_alloc.c)

i = ALIGN(i+offset, incr) - offset;

also the one in fail_block...

only happen when align is large than alignment of node_boot_start.

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