Un patch proposé pour l’allocateur slab de Linux 7.4 aurait amélioré de 24 % le résultat de will-it-scale sur mmap1. Il vise à modifier le chemin de préremplissage du cache mémoire du noyau : celui-ci puiserait dans les sheaves pleines du barn plutôt que de s’appuyer uniquement sur des slabs partiels.
Comment le préremplissage des sheaves évoluerait
Une sheaf est une couche de cache propre à un processeur, organisée en tableau d’objets. Le barn est la réserve où ces sheaves sont regroupées. Dans le changement proposé, le chemin de préremplissage prendrait des objets dans les sheaves pleines du barn et placerait les objets restants dans une sheaf partielle. La sheaf en cours de remplissage resterait en place.
Cette organisation vise à libérer de l’espace dans la liste des sheaves pleines pour de futures sheaves RCU. Elle doit aussi éviter un remplissage depuis des slabs partiels sous list_lock, présenté comme plus coûteux.
Trois résultats pour trois métriques
Les résultats rapportés associent au patch une amélioration de 24 % sur will-it-scale mmap1. Deux autres métriques liées au barn affichent des hausses bien plus élevées : +22 904 539,81 % pour barn_get et +21 422 544,07 % pour barn_put. Ces valeurs se rapportent à leurs métriques respectives.
La destination prévue du patch
Au 26 septembre 2026, le patch était signalé comme mis en file d’attente dans la branche slab/for-next, en vue de la fenêtre d’intégration de Linux 7.4, alors attendue pour la fin octobre 2026.