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