Re:Efficient IO in Linux with io_uring [pdf]
by moonchild on Sunday October 16, 2022 @04:56AM
(#33222205)
And I thought I was original for coming up with this scheme after I heard about vdsos, a year or two before io_uring became a thing :)
[ Parent
| on HN ]
Re:Efficient IO in Linux with io_uring [pdf]
by flohofwoe on Sunday October 16, 2022 @05:53AM
(#33222441)
3D APIs used the same idea for a long time, probably going all the way back to the mid-90's with D3D2 'execute buffers' (GL display lists are even older but just similar, they're expected to be recorded once and executed many times instead of being rebuilt each frame).
Re:Efficient IO in Linux with io_uring [pdf]
by benlwalker on Sunday October 16, 2022 @09:57AM
(#33223647)
And io_uring itself was more directly inspired by NVMe and RDMA, which of course work with these same queues as GFX cards. The original io_uring patch compares itself to SPDK, whose premise is "what if we expose an abstraction for a hardware queue per thread to an application " - basically the same programming model as io_uring. And SPDK was just taking techniques from networking (DPDK) and applying them to storage.
source - I helped create SPDK.
Re:Efficient IO in Linux with io_uring [pdf]
by gavinray on Sunday October 16, 2022 @11:06AM
(#33224129)
Thanks for SPDK, it's valuable and has a wide range of applications.
Re:Efficient IO in Linux with io_uring [pdf]
by ajross on Sunday October 16, 2022 @12:17PM
(#33224764)
IBM System/360 machines had programmable IO Channel processors back in the 1960's. Everything new is old.
Nor is io_uring the first or only asynchronous I/O API available to Linux userspace. It's just the best.