Topic: initialization of data
Group: memory management
Topic: object-oriented objects
Topic: memory management by free list
Group: debugging
Topic: heap memory management
Topic: memory cache
Topic: logging data and events
Topic: security by audit trail
| |
Reference
Bonwick, J.,
"The slab allocator: an object-caching kernel memory allocator",
USENIX - Summer 1994 Technical Conference, June 1994.
Google
Notes
Used by memcached
Quotations
abstract ;;Quote: the SunOS slab memory allocator retains the state of complex objects between uses; object-coloring for global cache utilization; space efficient and fast
| 87 ;;Quote: object cache is up to 5x faster; preserves the invariant portion of an object's initial state
| 89 ;;Quote: the slab allocator manages policy and memory while clients manage the object's name, size, alignment, and constructors
| 90 ;;Quote: the slab allocator has independent caches with per-cache locking, statistics, and no shared state
| 90 ;;Quote: the slab allocator allocates non-cached objects from 30 slabs of 8 bytes to 9K; larger requests allocated by the back-end page supplier
| 91 ;;Quote: a slab is one or more pages of contiguous memory divided into equal size chunks; reference count of allocated chucks
| 91 ;;Quote: the slab allocator is both fast and space-efficient; half the fragmentation of its nearest competitor; constant-time allocate and free
| 92 ;;Quote: for small to mid-size buffers, slab data, freelist links, and buffers on a single page
| 92+;;Quote: easier debugging if freelist links at the end of a buffer
| 92 ;;Quote: unlink the slab instead of unlinking each buffer; freed slabs may be returned to the system; keeps a 15-second working set of recently-used slabs
| 93 ;;Quote: for cache utilization and bus balance, each slab allocates buffers at slightly different offsets
| 96 ;;Quote: the slab allocator assists debugging with auditing, verfication, redzone checking, page-per-buffer mode, and leak detection
| 96 ;;Quote: in audit mode, the slab allocator records activity in a circular log; identifies owners of corrupted blocks
|
Related Topics
Topic: initialization of data (45 items)
Group: memory management (11 topics, 367 quotes)
Topic: object-oriented objects (39 items)
Topic: memory management by free list (25 items)
Group: debugging (10 topics, 333 quotes)
Topic: heap memory management (33 items)
Topic: memory cache (29 items)
Topic: logging data and events (17 items)
Topic: security by audit trail (18 items)
|