Just like I did for 6.10, I wrote up a "what's new with io_uring" but for the 6.11/12 kernels. 6.11 wasn't super exciting in terms of features, so bundled these into a single page.
Having worked on the kernel for decades, and imposing a lot of the same code/git hygiene for liburing, there can be a disconnect for contributors on what is expected of a commit and commit message, and what series of commits should look like. I attempted to provide a basic guideline here:
@ljs@marcan > I guess Jens point is that dancing around who it is adds to the 'fuck (other :) kernel maintainers' vibes.
Yes indeed, it hurts somewhat that a few (maybe more than a few, but definitely the minority) rotten apples ends up being a generalization against the kernel as a whole. And if I or others can help make that better, I'm surely all for it.
@torvalds Yep, we certainly could do that. I did that in io_uring, I'd be weary of doing it generically without auditing all the callers. Some callers assume you'll get an ITER_IOVEC out of those helpers, would make me nervous to do it wholesale inside the functions.
For liburing specifically, I'd want to add a patch that just turns io_uring_prep_{readv,writev} into read/write instead. Because the iovec copy overhead is noticeable too, and the ITER_UBUF conversion only saves iterator overhead.
One of my pet peeves - people using vectored IO operations with single segments. At least now we'll make it a bit better, though still wasting time on copying in a single iovec.