Re: [RFC] [PATCH] cpuset operations causes Badness at mm/slab.c:777 warning

Christoph Lameter
2007-06-02T00:12:52Z

On Fri, 1 Jun 2007, Linus Torvalds wrote:

> > A too large alloc is >32MB or MAX_ORDER << PAGE_SIZE. A BUG_ON in
> > kmalloc_slab() will trigger.
>
> Did we use to BUG_ON()? I think that's wrong. There are ways for users to
> potentially ask the kernel to do big allocations, and the correct response
> is to say "no can do", not to crash!

There is no way to distinguish that from out of memory. Failing on large
allocs is what we have always done for kmalloc(). Before 2.6.22 we used to
fail for allocs > 256k which was a big nuisance for NUMAs large allocs.

The patches in 2.6.22 allow us for the first time to allocate arbitrary
sized objects up to MAX_ORDER. So we no longer have troubles with large
NUMA objects.