On Tue, May 31, 2011 at 05:16:29PM +0200, Michael Weissenbacher wrote:
> Brian wrote:
> > Can anyone please comment if this bug was ever fixed?
> > I have searched and see no further talk about this.
> > echo 720000 > /proc/sys/fs/xfs/xfssyncd_centisecs allows a drive to sleep
> > more
> > often, but still is impacted by this.
> > Thanks!
> AFAICT nothing has changed in this regard. I sill see the same behavior
> with kernel 2.6.39. Thanks to this thread i found out about the problems
> related to accumulating head unloads which i was able to mitigate by
> setting xfssyncd_centisecs to a higher value.
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Fri Apr 8 12:45:07 2011 +1000
xfs: push the AIL from memory reclaim and periodic sync
When we are short on memory, we want to expedite the cleaning of
dirty objects. Hence when we run short on memory, we need to kick
the AIL flushing into action to clean as many dirty objects as
quickly as possible. To implement this, sample the lsn of the log
item at the head of the AIL and use that as the push target for the
Further, we keep items in the AIL that are dirty that are not
tracked any other way, so we can get objects sitting in the AIL that
don't get written back until the AIL is pushed. Hence to get the
filesystem to the idle state, we might need to push the AIL to flush
out any remaining dirty objects sitting in the AIL. This requires
the same push mechanism as the reclaim push.
This patch also renames xfs_trans_ail_tail() to xfs_ail_min_lsn() to
match the new xfs_ail_max_lsn() function introduced in this patch.
Similarly for xfs_trans_ail_push -> xfs_ail_push.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Alex Elder <aelder@xxxxxxx>