Re: [PATCH 5.11] block: optimise for_each_bvec() advance

From: Pavel Begunkov
Date: Tue Nov 24 2020 - 08:03:15 EST


On 24/11/2020 11:22, Christoph Hellwig wrote:
> On Tue, Nov 24, 2020 at 10:21:23AM +0000, Pavel Begunkov wrote:
>> Because of how for_each_bvec() works it never advances across multiple
>> entries at a time, so bvec_iter_advance() is an overkill. Add
>> specialised bvec_iter_advance_single() that is faster. It also handles
>> zero-len bvecs, so can kill bvec_iter_skip_zero_bvec().
>
> bvec_iter_advance_single needs a comment describing how it can be

agree

> used. Also can you take a look at the other callers and see who
> can be switched over? If you are not sure ask the relevant maintainers.

There are bio_advanced*(), that are used all across block layer.
Considering that all that is inlined it's going to be a good win.

I'll resend it as a part of a series converting some users.
For others like net, I'd rather wait until it lands.

--
Pavel Begunkov