Re: Differences between SLUB/SLAB/SLOB/SLQB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux