News: 0001582384

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Sheaves Merged For Linux 6.18 - Can Help With Better Performance

([Linux Kernel] 4 Hours Ago Linux Sheaves)


The Slab pull request was merged this evening for the ongoing [1]Linux 6.18 merge window. Most notable with the Slab updates is the introduction of Sheaves.

Sheaves as a new [2]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 [3]mighty nice performance potential .

The [4]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 [5]merged for Linux 6.18.



[1] https://www.phoronix.com/search/Linux+6.18

[2] https://www.phoronix.com/news/Linux-6.18-Likely-Sheaves

[3] https://www.phoronix.com/news/Linux-Sheaves-AMD-Performance

[4] https://lore.kernel.org/lkml/5dc1b53d-29fb-42f6-9fff-d6b42da17a7f@suse.cz/

[5] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=24d9e8b3c9c8a6f72c8b4c196a703e144928d919



phoronix

It is the theory which decides what can be observed.
-- Albert Einstein