Re: [PATCH 39/43] xfs: support write life time based data placement

hch
2025-02-14T06:41:50Z

On Thu, Feb 13, 2025 at 01:03:31PM +0000, Hans Holmberg wrote:
> That sounds like good idea. Christoph: could you fold in the above lines
> into the commit message for the next iteration of the series?

It needed a bit of editing to fit into the commit messages. This is what
I have now, let me know if this is ok:

fs: support write life time based data placement

Add a file write life time data placement allocation scheme that aims to
minimize fragmentation and thereby to do two things:

a) separate file data to different zones when possible.
b) colocate file data of similar life times when feasible.

To get best results, average file sizes should align with the zone
capacity that is reported through the XFS_IOC_FSGEOMETRY ioctl.

This improvement in data placement efficiency reduces the number of
blocks requiring relocation by GC, and thus decreases overall write
amplification. The impact on performance varies depending on how full
the file system is.

For RocksDB using leveled compaction, the lifetime hints can improve
throughput for overwrite workloads at 80% file system utilization by
~10%, but for lower file system utilization there won't be as much
benefit in application performance as there is less need for garbage
collection to start with.

Lifetime hints can be disabled using the nolifetime mount option.