On Thu, Feb 23, 2006 at 10:47:53AM -0800, Christoph Lameter wrote:
> On Thu, 23 Feb 2006, Pekka Enberg wrote:
>
> > Look at the loop, it is redundant work (like acquiring/releasing a
> > spinlock). The cache_cache is practically static, which is why it makes
> > sense to leave it alone.
>
> 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.
I think Pekka is referring to draining of alien cache, array caches and the
shared caches before the loop is is broken by above.
>
> 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 agree. That's where SLAB_NO_REAP can be used? or rather, change the
name/documentation to mean something better.
OR, introduce smartness in cache_reap to break the loop earlier if we can
somehow dynamically recognise the cache is static.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]