Re: [PATCH 07/12] xfs: don't preallocate a transaction for file size updates

From: Christoph Hellwig
Date: Tue Jun 25 2019 - 06:25:44 EST


On Tue, Jun 25, 2019 at 09:15:23AM +1000, Dave Chinner wrote:
> > So, uh, how much of a hit do we take for having to allocate a
> > transaction for a file size extension? Particularly since we can
> > combine those things now?
>
> Unless we are out of log space, the transaction allocation and free
> should be largely uncontended and so it's just a small amount of CPU
> usage. i.e it's a slab allocation/free and then lockless space
> reservation/free. If we are out of log space, then we sleep waiting
> for space - the issue really comes down to where it is better to
> sleep in that case....

I see the general point, but we'll still have the same issue with
unwritten extent conversion and cow completions, and I don't remember
seeing any issue in that regard. And we'd hit exactly that case
with random writes to preallocated or COW files, i.e. the typical image
file workload.