Speaker
Description
Sheaves are a new percpu caching layer for the Linux kernel's slab allocator (specifically, its only remaining implementation, SLUB). To some extent it's a return to the former SLAB implementation's percpu arrays (callled magazines in the original Bonwick's paper), but avoiding the pitfalls that the SLAB implementation had, thus attempting to get the best of both SLAB and SLUB approaches.
In 6.18 sheaves were merged and enabled for maple node and VMA caches. Later in 7.0 they were enabled for all caches and the original cpu slabs and cpu partial slabs caching layer was removed. This talk will discuss the new implementation, explain the tradeoffs involved, the challenges and performance regression reports encountered on the way. We'll also look at the lessons learned, and ongoing/future work that the sheaves caching has enabled.