Ask questionsinternal/poll: transparently support new linux io_uring interface
A document on the latest linux IO syscall has made the rounds of discussion forums on the internet:
I wanted to open a discussion on whether we could (and should) add transparent support for this on supported linux kernels.
LWN article: https://lwn.net/Articles/776703/
Answer questions coder543
If that is true, we would only use it for file I/O
File I/O is the main reason I'm interested in
io_uring. My understanding is that the current Linux kernel abstractions for async networking work just fine, but making file I/O appear to be interruptible so that goroutines don't block entire OS threads requires using a pool of I/O OS threads. If
io_uring could remove the need for a pool of OS threads for file I/O, that seems to make it worthwhile.
Whether having a ring per P (as @CAFxX suggests) or just having a single thread dedicated to managing a ring... either solution seems fine. Unless there's some measurable advantage to
io_uring for networking, I don't think it would be that important to switch the networking code at this point.