Re:Why you should use io_uring for network I/O
by epage on Wednesday April 12, 2023 @10:44PM
(#35550230)
Whats old becomes new again. I worked on some Windows drivers that batched calls into the kernel because of the overhead "back in the day". At the time, we were re-working the drivers to not doing batching anymore because the overhead of syscalls had dropped (as part of a larger clean up of our driver design, not a reason in of itself).
[ Parent
| on HN ]
Re:Why you should use io_uring for network I/O
by kps on Wednesday April 12, 2023 @11:12PM
(#35550450)
> Whats old becomes new again.
The polled mode of io_uring resembles I/O on CDC mainframes, except that the ‘kernel’ ran on dedicated coprocessors (which incidentally ran multiple tasks in a way similar to what is now called hyperthreading).
Re:Why you should use io_uring for network I/O
by espoal on Thursday April 13, 2023 @08:09AM
(#35554179)
io_uring it's not about batching. io_uring is about a new concurrency model based on ring buffers
Re:Why you should use io_uring for network I/O
by fulafel on Thursday April 13, 2023 @12:47PM
(#35558302)
Before that in the 60s io command batching was (like most things) done by IBM: https://en.wikipedia.org/wiki/Channel_I/O#Channel_program
These days Linux supports VFIO pass-through for native IBM/360 channel programs if you happen to be running Linux on a IBM mainframe: https://docs.kernel.org/6.1/s390/vfio-ccw.html