Re: [PATCH net-next v4 00/27] io_uring zerocopy send
From: Pavel Begunkov <asml.silence@gmail.com>
Date: 2022-09-28 20:13:19
Also in:
io-uring, lkml
On 9/28/22 20:31, David Ahern wrote:
On 9/26/22 1:08 PM, Pavel Begunkov wrote:quoted
Tried it out, the branch below fixes a small problem, adds a couple of extra optimisations and now it actually uses registered buffers. https://github.com/isilence/iperf iou-sendzcthanks for the patch; will it pull it in.quoted
Still, the submission loop looked a bit weird, i.e. it submits I/O to io_uring only when it exhausts sqes instead of sending right away with some notion of QD and/or sending in batches. The approach is good for batching (SQ size =16 here), but not so for latency. I also see some CPU cycles being burnt in select(2). io_uring wait would be more natural and perhaps more performant, but I didn't spend enough time with iperf to say for sure.ok. It will be a while before I have time to come back to it. In the meantime it seems like some io_uring changes happened between your dev branch and what was merged into liburing (compile worked on your branch but fails with upstream). Is the ZC support in liburing now?
It is. I forgot to put a note that I also adapted your patches to uapi changes.No more notification slots but a zc send request now can post a second CQE if IORING_CQE_F_MORE is set in the first one. Better described in io_uring_enter(2) man, e.g. https://git.kernel.dk/cgit/liburing/tree/man/io_uring_enter.2#n1063 -- Pavel Begunkov