Sep 12 – 14, 2022
Europe/Dublin timezone

The slab allocators of past, present, and future

Sep 12, 2022, 1:05 PM
"Herbert" (Clayton Hotel on Burlington Road)


Clayton Hotel on Burlington Road

Kernel Memory Management MC Kernel Memory Management MC


Vlastimil Babka (SUSE Labs)


  • A summary of how we got to have SLAB, SLOB and SLUB.
  • The strengths and weaknesses of each - performance, debugging, memory overhead.
  • The issues with having three implementations.
  • Code complexity and bitrot
  • Other features having to implement for each variant or limit choice (kmemcg, PREEMPT_RT...)
  • Imperfect common code, recent attempts to unify it more
  • API improvement issues - we would like kfree() to work on kmem_cache_alloc() objects, but SLOB would have to adapt and increase memory overhead.
  • Can we drop SLOB and/or SLAB? What changes would SLUB need in order to replace their use cases?
I agree to abide by the anti-harassment policy Yes

Primary author

Vlastimil Babka (SUSE Labs)

Presentation materials

Diamond Sponsor

Platinum Sponsors

Gold Sponsors

Silver Sponsors

Speaker Gift Sponsor

Catchbox Sponsor

Video Recording Sponsor

Livestream Sponsor

T-Shirt Sponsor

Conference Services Provided by