On Tue, 30 May 2017, Hugh Dickins wrote:
I wanted to try removing CONFIG_SLUB_DEBUG, but didn't succeed in that:
it seemed to be a hard requirement for something, but I didn't find what.
CONFIG_SLUB_DEBUG does not enable debugging. It only includes the code to
be able to enable it at runtime.
I did try CONFIG_SLAB=y instead of SLUB: that lowers these allocations to
the expected order:3, which then results in OOM-killing rather than direct
allocation failure, because of the PAGE_ALLOC_COSTLY_ORDER 3 cutoff. But
makes no real difference to the outcome: swapping loads still abort early.
SLAB uses order 3 and SLUB order 4??? That needs to be tracked down.
Why are the slab allocators used to create slab caches for large object
sizes?
Relying on order:3 or order:4 allocations is just too optimistic: ppc64
with 4k pages would do better not to expect to support a 128TB userspace.
I thought you had these huge 64k page sizes?