based on http://lwn.net/Articles/229984/, which explained the
differences in some ways, my understanding is that SLUB is targetting
for large number of CPUs/nodes.   For machines like 2 or 4 cores, it
should not matters much, correct?   (or possibly higher overheads in
some scenario?)

On Wed, Apr 1, 2009 at 10:08 AM, Peter Teoh <[email protected]> wrote:
> 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
>



-- 
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