Re: [PATCH v3 00/12] io-uring/btrfs: support async buffered writes

Jens Axboe
2022-09-21T14:33:57Z

On 9/21/22 4:19 AM, David Sterba wrote:
> On Tue, Sep 20, 2022 at 02:25:40PM +0200, David Sterba wrote:
>> On Mon, Sep 12, 2022 at 12:27:40PM -0700, Stefan Roesch wrote:
>>> This patch series adds support for async buffered writes when using both
>>> btrfs and io-uring. Currently io-uring only supports buffered writes (for btrfs)
>>> in the slow path, by processing them in the io workers. With this patch series
>>> it is now possible to support buffered writes in the fast path. To be able to use
>>> the fast path, the required pages must be in the page cache, the required locks
>>> in btrfs can be granted immediately and no additional blocks need to be read
>>> form disk.
>>>
>>> This patch series makes use of the changes that have been introduced by a
>>> previous patch series: "io-uring/xfs: support async buffered writes"
>>>
>>> Performance results:
>>>
>>> The new patch improves throughput by over two times (compared to the exiting
>>> behavior, where buffered writes are processed by an io-worker process) and also
>>> the latency is considerably reduced. Detailled results are part of the changelog
>>> of the first commit.
>>
>> Thanks. It's late for including this patches to 6.1 queue but it's now
>> in for-next and will be added to misc-next after rc1, targeting merge to
>> 6.2. I did some minor fixups, so please don't resend full series unless
>> there's a significant change. Incremental changes are fine if needed.
>
> I'm revisiting the merge target, the potential risk seems to be low
> here, straightforward changes for a separate feature, so it's now in the
> 6.1 queue. We still don't have ack for the function export so that would
> be good to have.

I don't think the ack there is a big deal, iomap already uses it but
can't be modular. So it's just adding a modular user of the same thing,
really.

6.1 sounds good to me!

--
Jens Axboe