Messages in this thread | | | Date | Fri, 24 Feb 2006 09:36:36 +0200 | From | "Pekka Enberg" <> | Subject | Re: slab: Remove SLAB_NO_REAP option |
| |
On 2/23/06, Christoph Lameter <clameter@engr.sgi.com> 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@engr.sgi.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |