[QUESTION] is SLAB considered legacy and deprecated?

From: Hyeonggon Yoo
Date: Mon Sep 27 2021 - 05:03:56 EST


Hello there,

I've been working on adding 'lockless cache' on sl[au]b for a while.
But what it actually does is actually adding 'queuing' on slub.

So there is a fundamental question coming into my mind:
'is SLAB considered legacy and deprecated?'

It seems there are little development on SLAB and people think that
SLAB is legacy and deprecated, so CONFIG_SLUB is used by default.

But I think both has pros and cons for their own:
SLAB: more temporal locality (cache friendly)
but high usage of memory, and less spatial locality (TLB misses) than SLUB.

SLUB: less temporal locality (less cache friendly) than SLAB
but more spatial locality (TLB hit), and low usage of memory
and good debugging feature.

Why do people say SLAB is deprecated/legacy?

Thanks,
Hyeonggon