On Tue, Oct 6, 2015 at 9:49 AM, Linus Torvalds <torva...@linux-foundation.org> wrote: > > The basic fact remains: kernel allocations are so important that > rather than fail, you should kill user space. Only kernel allocations > that *explicitly* know that they have fallback code should fail, and > they should just do the __GFP_NORETRY.
To be clear: "big" orders (I forget if the limit is at order-3 or order-4) do fail much more aggressively. But no, we do not limit retry to just order-0, because even small kmalloc sizes tend to often do order-1 or order-2 just because of memory packing issues (ie trying to pack into a single page wastes too much memory if the allocation sizes don't come out right). So no, order-0 isn't special. 1/2 are rather important too. [ Checking /proc/slabinfo: it looks like several slabs are order-3, for things like files_cache, signal_cache and sighand_cache for me at least. So I think it's up to order-3 that we basically need to consider "we'll need to shrink user space aggressively unless we have an explicit fallback for the allocation" ] Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/