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

Hans Holmberg
2025-02-14T12:21:01Z

On 14/02/2025 07:41, hch wrote:
> 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.
>

This looks great to me, thanks!