Ein Patch für den Linux-Slab-Allocator wurde in den Entwicklungszweig slab/for-next aufgenommen und ist für das Mergefenster von Linux 7.4 vorgesehen. Für den Benchmark will-it-scale mit dem Test mmap1 wurde eine Verbesserung um 24 Prozent gemeldet.
Wie das Auffüllen der Sheaves geändert werden soll
Sheaves sind pro CPU geführte, arraybasierte Zwischenspeicher für den Speicher-Allocator des Linux-Kernels. Beim bisherigen Prefill wird ein nicht vollständig gefülltes Sheaf aus partiellen Slabs aufgefüllt. Der vorgeschlagene Patch sieht vor, dafür zunächst volle Sheaves aus dem Barn zu verwenden – einem weiteren Ablagebereich des Allocators.
Objekte, die nach diesem Zugriff übrig bleiben, sollen in einem partiellen Sheaf im Barn liegen bleiben. Das Sheaf, das gerade aufgefüllt wird, wird dabei nicht ersetzt. Der Ansatz soll Platz in der Liste voller Sheaves für künftige RCU-Sheaves schaffen. Außerdem soll das Auffüllen aus dem Barn günstiger sein als der Zugriff auf partielle Slabs unter list_lock.
Was die Benchmarkwerte aussagen
Für will-it-scale mmap1 wurde eine Verbesserung um 24 Prozent gemeldet. Die beiden deutlich größeren Prozentwerte gehören zu anderen, jeweils benannten Kennzahlen: barn_get liegt bei +22.904.539,81 Prozent und barn_put bei +21.422.544,07 Prozent. Es handelt sich um Ergebnisse dreier verschiedener Benchmark-Metriken, nicht um drei Messungen derselben Leistung.