Re: [PATCH 06/14] xfs: queue inactivation immediately when free space is tight

Dave Chinner
2021-08-05T05:31:37Z

On Wed, Aug 04, 2021 at 07:06:55PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Now that we have made the inactivation of unlinked inodes a background
> task to increase the throughput of file deletions, we need to be a
> little more careful about how long of a delay we can tolerate.
>
> On a mostly empty filesystem, the risk of the allocator making poor
> decisions due to fragmentation of the free space on account a lengthy
> delay in background updates is minimal because there's plenty of space.
> However, if free space is tight, we want to deallocate unlinked inodes
> as quickly as possible to avoid fallocate ENOSPC and to give the
> allocator the best shot at optimal allocations for new writes.
>
> Therefore, queue the percpu worker immediately if the filesystem is more
> than 95% full. This follows the same principle that XFS becomes less
> aggressive about speculative allocations and lazy cleanup (and more
> precise about accounting) when nearing full.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>

Makes sense.

Reviewed-by: Dave Chinner <dchinner@redhat.com>

--
Dave Chinner
david@fromorbit.com