Re: Slab allocators: Define common size limitations

From: Christoph Lameter
Date: Wed May 16 2007 - 13:42:00 EST


On Wed, 16 May 2007, Geert Uytterhoeven wrote:

> On Tue, 15 May 2007, Christoph Lameter wrote:
> > So define a common maximum size for kmalloc. For conveniences sake
> > we use the maximum size ever supported which is 32 MB. We limit the maximum
> > size to a lower limit if MAX_ORDER does not allow such large allocations.
>
> What are the changes a large allocation will actually succeed?
> Is there an alignment rule for large allocations?
>
> E.g. for one of the PS3 drivers I need a physically contiguous 256 KiB-aligned
> block of 256 KiB. Currently I'm using __alloc_bootmem() for that, but maybe
> kmalloc() becomes a suitable alternative now?

The chance of succeeding drops with the time that the system has been
running. Typically these large allocs are used when the system is brought
up. Maybe we will be able to successfully allocate these even after
memory has gotten significant use when Mel's antifrag/defrag work has
progressed more.

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