xfs: do not update xa_last_pushed_lsn for locked items
authorChristoph Hellwig <hch@infradead.org>
Tue, 11 Oct 2011 15:14:08 +0000 (15:14 +0000)
committerAlex Elder <aelder@sgi.com>
Tue, 11 Oct 2011 16:02:48 +0000 (11:02 -0500)
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>
fs/xfs/xfs_trans_ail.c

index c15aa29fa1696e33608601329be58770f9da78b0..9bd1ee55ef6aa5eb2ee26e8b7ea3bf6f5dd2952f 100644 (file)
@@ -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;