Re: [GIT PULL] Shrinker fixes for XFS for 2.6.36-rc6

Dave Chinner
2010-07-20T23:32:43Z

On Tue, Jul 20, 2010 at 10:46:30AM +1000, Dave Chinner wrote:
> Hi Linus,
>
> The following patches address shrinker lockdep and performance
> regressions introduced into XFS in 2.6.34 when a shrinker was
> added at the last moment to address OOM issues with lazy XFS inode
> reclaim.
>
> The first two patches are the saem as I originally posted to solve
> the problem for 2.6.34. They did not pass review in time for 2.6.34,
> and attempts to address said review comments resulted in a bigger,
> more contentious patchset that has much bigger issues than this
> patchset. Time has run out and I really don't want to have another
> kernel released with XFS causing lockdep to trigger the moment
> memory reclaim starts, so I'm asking if you will accept the original
> fixes I posted for the problem.
>
> The third patch addresses shrinker inode scanning performance
> problems raised in recently here:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=16348
>
> Please consider these commits for 2.6.26-rc6.

Ijust rebased the series - the shrinker context patch did not pickup
the new shrinker in the TTM DRM code for radeon. New pull-request output
below.

Cheers,

Dave.

The following changes since commit d0c6f6258478e1dba532bf7c28e2cd6e1047d3a4:

Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip (2010-07-19 13:19:32 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev shrinker

Dave Chinner (3):
mm: add context argument to shrinker callback
xfs: convert inode shrinker to per-filesystem contexts
xfs: track AGs with reclaimable inodes in per-ag radix tree

arch/x86/kvm/mmu.c | 2 +-
drivers/gpu/drm/i915/i915_gem.c | 2 +-
drivers/gpu/drm/ttm/ttm_page_alloc.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_super.c | 2 -
fs/xfs/linux-2.6/xfs_sync.c | 130 ++++++++++++++++++++--------------
fs/xfs/linux-2.6/xfs_sync.h | 2 -
fs/xfs/linux-2.6/xfs_trace.h | 3 +
fs/xfs/quota/xfs_qm.c | 7 ++-
fs/xfs/xfs_mount.h | 2 +-
include/linux/mm.h | 2 +-
mm/vmscan.c | 8 ++-
net/sunrpc/auth.c | 2 +-
24 files changed, 113 insertions(+), 82 deletions(-)