summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-10-11 15:14:08 +0000
committerAlex Elder <aelder@sgi.com>2011-10-11 11:02:48 -0500
commitbc6e588a8971aa74c02e42db4d6e0248679f3738 (patch)
treea9c8361b9f2d5b0364f5f4c3433e413b8f434dac
parent65112dccf8a113737684366349d7f9ec373ddc47 (diff)
downloadlinux-3.10-bc6e588a8971aa74c02e42db4d6e0248679f3738.tar.gz
linux-3.10-bc6e588a8971aa74c02e42db4d6e0248679f3738.tar.bz2
linux-3.10-bc6e588a8971aa74c02e42db4d6e0248679f3738.zip
xfs: do not update xa_last_pushed_lsn for locked items
If an item was locked we should not update xa_last_pushed_lsn and thus skip it when restarting the AIL scan as we need to be able to lock and write it out as soon as possible. Otherwise heavy lock contention might starve AIL pushing too easily, especially given the larger backoff once we moved xa_last_pushed_lsn all the way to the target lsn. Signed-off-by: Christoph Hellwig <hch@lst.de> Reported-by: Stefan Priebe <s.priebe@profihost.ag> Tested-by: Stefan Priebe <s.priebe@profihost.ag> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Alex Elder <aelder@sgi.com>
-rw-r--r--fs/xfs/xfs_trans_ail.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c
index c15aa29fa16..9bd1ee55ef6 100644
--- a/fs/xfs/xfs_trans_ail.c
+++ b/fs/xfs/xfs_trans_ail.c
@@ -440,7 +440,6 @@ xfs_ail_worker(
case XFS_ITEM_LOCKED:
XFS_STATS_INC(xs_push_ail_locked);
- ailp->xa_last_pushed_lsn = lsn;
stuck++;
break;