xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/3] mm: add context argument to shrinker callback
From: Alex Elder <aelder@xxxxxxx>
Date: Tue, 20 Jul 2010 14:30:04 -0500
Cc: xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx
In-reply-to: <1279194418-16119-2-git-send-email-david@xxxxxxxxxxxxx>
References: <1279194418-16119-1-git-send-email-david@xxxxxxxxxxxxx> <1279194418-16119-2-git-send-email-david@xxxxxxxxxxxxx>
Reply-to: aelder@xxxxxxx
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"

Other that that, this looks good to me.

                                        -Alex





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