Sheaves Merged For Linux 6.18 - Can Help With Better Performance
The Slab pull request was merged this evening for the ongoing Linux 6.18 merge window. Most notable with the Slab updates is the introduction of Sheaves.
Sheaves as a new opt-in, per-CPU and array-based caching layer is now merged for Linux 6.18. No last minute objections from Linus Torvalds or others. Independent testing of the Linux "Sheaves" code has shown mighty nice performance potential.
The Slab pull request explains of the Sheaves functionality:
The Sheaves functionality is now merged for Linux 6.18.
Sheaves as a new opt-in, per-CPU and array-based caching layer is now merged for Linux 6.18. No last minute objections from Linus Torvalds or others. Independent testing of the Linux "Sheaves" code has shown mighty nice performance potential.
The Slab pull request explains of the Sheaves functionality:
"A new layer for caching objects for allocation and free via percpu arrays called sheaves. The aim is to combine the good parts of SLAB (lower-overhead and simpler percpu caching, compared to SLUB) without the past issues with arrays for freeing remote NUMA node objects and their flushing. It also allows more efficient kfree_rcu(), and cheaper object preallocations for cases where the exact number of objects is unknown, but an upper bound is.
Currently VMAs and maple nodes are using this new caching, with a plan to enable it for all caches and remove the complex SLUB fastpath based on cpu (partial) slabs and this_cpu_cmpxchg_double()."
The Sheaves functionality is now merged for Linux 6.18.
