From: Christoph Hellwig Date: Tue, 18 Oct 2011 14:23:17 +0000 (-0400) Subject: xfs: do not update xa_last_pushed_lsn for locked items X-Git-Tag: firefly_0821_release~7541^2~2575 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=838599d118dd286b831ba45ae380c5870ff82fe9;p=firefly-linux-kernel-4.4.55.git xfs: do not update xa_last_pushed_lsn for locked items 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 Reported-by: Stefan Priebe Tested-by: Stefan Priebe Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c index 9a69dc06ea86..4b74b883696f 100644 --- a/fs/xfs/xfs_trans_ail.c +++ b/fs/xfs/xfs_trans_ail.c @@ -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;