On 9/26/22 1:08 PM, Pavel Begunkov wrote:
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-sendzc
thanks for the patch; will it pull it in.
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?