On Wed, Aug 04, 2021 at 07:06:55PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > 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@xxxxxxxxxx> Makes sense. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx