xfs
[Top] [All Lists]

Re: [PATCH 1/3] mm: add context argument to shrinker callback

To: Alex Elder <aelder@xxxxxxx>
Subject: Re: [PATCH 1/3] mm: add context argument to shrinker callback
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 21 Jul 2010 08:53:55 +1000
Cc: xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx
In-reply-to: <1279654204.1859.232.camel@doink>
References: <1279194418-16119-1-git-send-email-david@xxxxxxxxxxxxx> <1279194418-16119-2-git-send-email-david@xxxxxxxxxxxxx> <1279654204.1859.232.camel@doink>
User-agent: Mutt/1.5.20 (2009-06-14)
On Tue, Jul 20, 2010 at 02:30:04PM -0500, Alex Elder wrote:
> On Thu, 2010-07-15 at 21:46 +1000, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > The current shrinker implementation requires the registered callback
> > to have global state to work from. This makes it difficult to shrink
> > caches that are not global (e.g. per-filesystem caches). Pass the shrinker
> > structure to the callback so that users can embed the shrinker structure
> > in the context the shrinker needs to operate on and get back to it in the
> > callback via container_of().
> 
> > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> > ---
> >  arch/x86/kvm/mmu.c              |    2 +-
> >  drivers/gpu/drm/i915/i915_gem.c |    2 +-
> >  fs/dcache.c                     |    2 +-
> >  fs/gfs2/glock.c                 |    2 +-
> >  fs/gfs2/quota.c                 |    2 +-
> >  fs/gfs2/quota.h                 |    2 +-
> >  fs/inode.c                      |    2 +-
> >  fs/mbcache.c                    |    5 +++--
> >  fs/nfs/dir.c                    |    2 +-
> >  fs/nfs/internal.h               |    3 ++-
> >  fs/quota/dquot.c                |    2 +-
> >  fs/ubifs/shrinker.c             |    2 +-
> >  fs/ubifs/ubifs.h                |    2 +-
> >  fs/xfs/linux-2.6/xfs_buf.c      |    5 +++--
> >  fs/xfs/linux-2.6/xfs_sync.c     |    1 +
> >  fs/xfs/quota/xfs_qm.c           |    7 +++++--
> >  include/linux/mm.h              |    2 +-
> >  mm/vmscan.c                     |    8 +++++---
> >  18 files changed, 31 insertions(+), 22 deletions(-)
> 
> You seem to have missed two registered shrinkers:
> - ttm_pool_mm_shrink() in "drivers/gpu/drm/ttm/ttm_page_alloc.c"
> - rpcauth_cache_shrinker() in "net/sunrpc/auth.c"

Bugger - one's a new shrinker since 2.6.34, and I'm not sure how I
missed the auth cache one. Oh, it throws a single warning:

net/sunrpc/auth.c:586: warning: initialization from incompatible pointer type

that I didn't notice as being a new warning.

Oh well, time to update.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>