Re: dentries: dentry defragmentation

From: Andi Kleen
Date: Mon Feb 01 2010 - 05:10:23 EST


On Mon, Feb 01, 2010 at 06:08:35PM +1100, Nick Piggin wrote:
> I always preferred to do defrag in the opposite way. Ie. query the
> slab allocator from existing shrinkers rather than opposite way
> around. This lets you reuse more of the locking and refcounting etc.

I looked at this for hwpoison soft offline.

But it works really badly because the LRU list ordering
has nothing to do with the actual ordering inside the slab pages.

Christoph's basic approach is more efficient.

> So you have a pin on the object somehow via the normal shrinker path,
> and therefore you get a pin on the underlying slab. I would just like
> to see even performance of a real simple approach that just asks
> whether we are in this slab defrag mode, and if so, whether the slab
> is very sparse. If yes, then reclaim aggressively.

The typical result is that you need to get through most of the LRU
list (and prune them all) just to free the page.

>
> If that doesn't perform well enough and you have to go further and

It doesn't.

-Andi
--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/