Re: slab: Remove SLAB_NO_REAP option

From: Pekka Enberg
Date: Fri Feb 24 2006 - 02:34:20 EST


On 2/23/06, Christoph Lameter <clameter@xxxxxxxxxxxx> wrote:
> There is a loop but its broken by
>
> p = l3->slabs_free.next;
> if (p == &(l3->slabs_free))
> break;
>
> One cache_reap() may scan the free list but once its free the code is
> skipped.

Which is _totally_ redundant for cache_cache.

On 2/23/06, Christoph Lameter <clameter@xxxxxxxxxxxx> wrote:
> There are potentially large amounts of other caches around that are also
> basically static and which also would need any bypass that we may
> implement.

I don't think its worth it. It doesn't make much sense to create a
separate object cache if you're not using it, we're better off
converting those to kmalloc(). cache_cache is there to make
bootstrapping easier, it is very unlikely that you ever have more than
one page allocated for that cache which is why scanning the freelist
_at all_ is silly. I think SLAB_NO_REAP should go away but we also
must ensure we don't introduce a performance regression while doing
that.

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