[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Differences between SLUB/SLAB/SLOB/SLQB
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 <htmldeveloper@xxxxxxxxx> 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 ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ