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 [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to