What is the concept behind SLAB? From: http://scriptmatrix.net/cs2106/wiki/index.php/Slab_Allocator I understood it as a caching subsystem maintaining pool of caches for quick availabilities. So what are the difference between SLUB/SLAB/SLOB/SLQB? (hopefully....one or two sentence to summarize the concept will do) (as explained in mm/slub.c:1 comment: /* * SLUB: A slab allocator that limits cache line use instead of queuing * objects in per cpu and per node lists. * * The allocator synchronizes using per slab locks and only * uses a centralized lock to manage a pool of partial slabs. * * (C) 2007 SGI, Christoph Lameter */ ) SLUB is based on SLAB.....in what sense? The key exported API in SLUB and SLAB hardly changed: EXPORT_SYMBOL(kmem_cache_alloc); EXPORT_SYMBOL(kmem_cache_alloc_node); EXPORT_SYMBOL(kmem_cache_free); EXPORT_SYMBOL(kmem_ptr_validate); EXPORT_SYMBOL(kmem_cache_size); EXPORT_SYMBOL(kmem_cache_name); EXPORT_SYMBOL(kmem_cache_destroy); EXPORT_SYMBOL(kmalloc_caches); EXPORT_SYMBOL(__kmalloc); EXPORT_SYMBOL(__kmalloc_node); EXPORT_SYMBOL(ksize); EXPORT_SYMBOL(kfree); EXPORT_SYMBOL(kmem_cache_shrink); EXPORT_SYMBOL(kmem_cache_create); but internally.....what are the differences? (conceptually) -- Regards, Peter Teoh -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ