On 4/10/19 4:47 AM, Tobin C. Harding wrote:
> Recently a 2 year old bug was found in the SLAB allocator that crashes
> the kernel.  This seems to imply that not that many people are using the
> SLAB allocator.

AFAIK that bug required CONFIG_DEBUG_SLAB_LEAK, not just SLAB. That
seems to imply not that many people are using SLAB when debugging and
yeah, SLUB has better debugging support. But I wouldn't dare to make the
broader implication :)

> Currently we have 3 slab allocators.  Two is company three is a crowd -
> let's get rid of one. 
> 
>  - The SLUB allocator has been the default since 2.6.23

Yeah, with a sophisticated reasoning :)
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a0acd820807680d2ccc4ef3448387fcdbf152c73

>  - The SLOB allocator is kinda sexy.  Its only 664 LOC, the general
>    design is outlined in KnR, and there is an optimisation taken from
>    Knuth - say no more.
> 
> If you are using the SLAB allocator please speak now or forever hold your 
> peace ...

FWIW, our enterprise kernel use it (latest is 4.12 based), and openSUSE
kernels as well (with openSUSE Tumbleweed that includes latest
kernel.org stables). AFAIK we don't enable SLAB_DEBUG even in general
debug kernel flavours as it's just too slow.

IIRC last time Mel evaluated switching to SLUB, it wasn't a clear
winner, but I'll just CC him for details :)

> Testing:
> 
> Build kernel with `make defconfig` (on x86_64 machine) followed by `make
> kvmconfig`.  Then do the same and manually select SLOB.  Boot both
> kernels in Qemu.
> 
> 
> thanks,
> Tobin.
> 
> 
> Tobin C. Harding (1):
>   mm: Remove SLAB allocator
> 
>  include/linux/slab.h |   26 -
>  kernel/cpu.c         |    5 -
>  mm/slab.c            | 4493 ------------------------------------------
>  mm/slab.h            |   31 +-
>  mm/slab_common.c     |   20 +-
>  5 files changed, 5 insertions(+), 4570 deletions(-)
>  delete mode 100644 mm/slab.c
> 

Reply via email to