]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
xfs: do not update xa_last_pushed_lsn for locked items
authorChristoph Hellwig <hch@infradead.org>
Tue, 18 Oct 2011 14:23:17 +0000 (10:23 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 25 Oct 2011 05:10:16 +0000 (07:10 +0200)
commit bc6e588a8971aa74c02e42db4d6e0248679f3738 upstream

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/xfs/xfs_trans_ail.c

index 9a69dc06ea86dedc1d8c24915797b80389d45093..4b74b883696f8a9eab15c7fcda4bf0196d91b7d0 100644 (file)
@@ -491,7 +491,6 @@ xfs_ail_worker(
 
                case XFS_ITEM_LOCKED:
                        XFS_STATS_INC(xs_push_ail_locked);
-                       ailp->xa_last_pushed_lsn = lsn;
                        stuck++;
                        break;