Jump to content

Slab allocator

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 128.220.37.139 (talk) at 17:07, 14 March 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Slab allocator is a cache management structure for efficient use of kernel memory. It was designed by Jeff Bonwick of Sun Microsystems, for SunOS. It is also a part of the basic Linux kernel memory management system. It is targeted for use of many small pieces of memory chunks. By managing small memory chunks in the units called slabs, this mechanism enables lower fragmentation, fast allocation, and reclaming memory.

Caches

Caches are a per-type structure that is allocated, which controls allocation and deallocation of slabs. There are two functions that are available, one to allocate and one to deallocate chunks of memory. Caches can contain many slabs, which are allocated by the cache. The cache also

Slabs

There can be large slabs and small slabs with the Slab Allocator. The small pages are typically defined as containing objects that are smaller than 1/8 the size of a page on the machine. These small slabs need to be optimized further from the logical layout, by avoiding using bufctls (which would be just as large as the data itself)

Refrences