Check out my first novel, midnight's simulacra!
Allocators: Difference between revisions
From dankwiki
Line 13: | Line 13: | ||
well in all environments. It organizes cache hot objects in | well in all environments. It organizes cache hot objects in | ||
per cpu and per node queues.</pre> | per cpu and per node queues.</pre> | ||
* [http://lwn.net/Articles/229984/ SLUB] (Christoph Lameter, 2007) reduced the size of the slab object queue and improved scalability for many processors ([http://article.gmane.org/gmane.linux.kernel/510692 LKML]). From the Kconfig help:<pre>SLUB is a slab allocator that minimizes cache line usage | * [http://lwn.net/Articles/229984/ SLUB] (Christoph Lameter, 2007) reduced the size of the slab object queue and improved scalability for many processors ([http://article.gmane.org/gmane.linux.kernel/510692 LKML]). From the Kconfig help: | ||
<pre>SLUB is a slab allocator that minimizes cache line usage | |||
instead of managing queues of cached objects (SLAB approach). | instead of managing queues of cached objects (SLAB approach). | ||
Per cpu caching is realized using slabs of objects instead | Per cpu caching is realized using slabs of objects instead |
Revision as of 03:34, 19 June 2009
- TLSF - The Two-Level Segregate Fit allocator from the Industrial Informatics and Real-Time Systems Group
- Paper list - Check out 2008's "A constant-time dynamic storage allocator for real-time systems"
Arena
Slab
- Jeff Bonwick's classic 1994 creation, first published in the context of the SunOS 5.4 kernel
Linux kernel variants
The following data is collected from kernel 2.6.30:
- SLAB: The original. From the Kconfig help:
The regular slab allocator that is established and known to work well in all environments. It organizes cache hot objects in per cpu and per node queues.
- SLUB (Christoph Lameter, 2007) reduced the size of the slab object queue and improved scalability for many processors (LKML). From the Kconfig help:
SLUB is a slab allocator that minimizes cache line usage instead of managing queues of cached objects (SLAB approach). Per cpu caching is realized using slabs of objects instead of queues of objects. SLUB can use memory efficiently and has enhanced diagnostics. SLUB is the default choice for a slab allocator.
- SLQB (Nick Piggin, 2008)
- SLOB (LKML)
- Differences between SL*Bs