Re: scsi: fix sense_slab/bio swapping livelock

From: Boaz Harrosh
Date: Mon Apr 07 2008 - 06:08:55 EST


On Mon, Apr 07 2008 at 12:52 +0300, Pekka J Enberg <penberg@xxxxxxxxxxxxxx> wrote:
> Hi Boaz,
>
> On Mon, 7 Apr 2008, Boaz Harrosh wrote:
>> The slub behavior described above is disturbing. If I want a 128-byte kmalloc I
>> would use kmalloc. But if I want a dedicated kmem_cache of my own I take the trouble
>> to create one. As I understood it, a dedicated kmem_cache is somewhat growing but
>> lazy-shrinking and eventually maxes out to my usage of it. If I reserve one elemnt then
>> even when memory is low and caches are shrunk I have at least a page. But more then
>> In low memory condition, in a steady sate the cost of each allocation is kept low
>> because I have the pages for my self and I don't need to go grabbing global locks.
>> Sharing with other pools breaks that behavior. Perhaps we need a flag in kmem_cache
>> creation that says we do not want slab sharing (OK slub sharing in this case).
>
> I think you're better off using the page allocator then. SLOB, for
> example, doesn't guarantee you're the only user of a page for
> kmem_cache_alloc() either and I don't really see why it should as it tries
> to be as memory efficient as possible.
>
> Pekka

Please forgive my ignorance, but what is then the difference between kmem_cache_alloc()
and kmalloc?

would you not agree that sometimes we want to override that sharing of SLOBs?

Boaz
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/