Re: [patch 51/52] fs: per-zone dentry and inode LRU

Nick Piggin
2010-06-30T14:33:13Z

On Wed, Jun 30, 2010 at 08:09:37PM +1000, Dave Chinner wrote:
> On Thu, Jun 24, 2010 at 01:03:03PM +1000, npiggin@suse.de wrote:
> > Per-zone LRUs and shrinkers for dentry and inode caches.
> >
> > Signed-off-by: Nick Piggin <npiggin@suse.de>
>
> This destroys any notion we have of global LRU-ness of inode and
> dentry caches, doesn't it?

Yes.

> Can you outline in more detail what sort
> of reclaim pattern this results in. e.g. is a workload running on
> a single node now effectively limited to a dentry/icache size within
> the local node because of local node slab allocation and per-zone
> reclaim?

No, it will just make the vfs cache reclaim work similarly to
pagecache reclaim. Reclaimers (kswapd) can work on node local
memory; memory pressure in a particular zone can be targetted
specifically instead of shrinking all zones until it is OK;
zone reclaim will work properly for vfs caches; partitioning
of workloads can be better.

Workload on a single node can certainly still use up all global
memory if that is how the policy is configured.

Global LRU ordering is lost, but it is approximated when there
is a global memory shortage by scanning a little from each zone
head. When there is a local memory shortage it should be superior
because that can be resolved without reclaiming so much memory.

Thanks,
Nick