[dm-devel] [PATCH 5.20 1/4] block: add bio_rewind() API

Kent Overstreet kent.overstreet at gmail.com
Wed Jun 29 18:40:01 UTC 2022


On Wed, Jun 29, 2022 at 11:16:10AM -0600, Jens Axboe wrote:
> Not sure what Christoph change you are referring to, but all the ones
> that I did to improve the init side were all backed by numbers I ran at
> that time (and most/all of the commit messages will have that data). So
> yes, it is indeed still very noticeable. Maybe not at 100K IOPS, but at
> 10M on a core it most certainly is.

I was referring to 609be1066731fea86436f5f91022f82e592ab456. You signed off on
it, you must remember it...?

> I'm all for having solid and maintainable code, obviously, but frivolous
> bloating of structures and more expensive setup cannot be hand waved
> away with "it doesn't matter if we touch 3 or 6 cachelines" because we
> obviously have a disagreement on that.

I wouldn't propose inflating struct _bio_ like that. But Jens, to be blunt - I
know we have different priorities in the way we write code. Your writeback
throttling code was buggy for _ages_ and I had users hitting deadlocks there
that I pinged you about, and I could not make heads or tails of how that code
was supposed to work and not for lack of time spent trying!

You should be well aware that I care about performance too - I was the one who
pushed through the patches to not separately allocate mempools and biosets, and
a lot of the work I did ages ago was specifically to work towards getting rif of
the counting segments pass (work I believe Ming completed); that was a _major_
chunk of cpu time in any block layer profile I've looked at. So sure, tell me I
don't care about performance enough.

*sigh*



More information about the dm-devel mailing list