4 ms·
> Shared memory, lock-free data structures, no syscalls. You'd still need a syscall to sleep when the ring is empty, and a syscall to wake up the mechanism whe
by cesarb 7y ago
> Shared memory, lock-free data structures, no syscalls.
You'd still need a syscall to sleep when the ring is empty, and a syscall to wake up the mechanism when the first request is put on an empty ring. But yeah, other than that (and perhaps an "yield" syscall), you could do everything through the ring.
- yxhuvud 7y agoYou can actually go totally syscall free with io_uring, but that requires privileged mode as the setup call to enable the SQPOLL flag will fail otherwise. But yeah, I suppose most people don't like running things as sudo.
- couchand 7y agoWell, not totally free. If you don't submit an event before the sq poll timeout the kernel thread will sleep and you need to call enter again to wake it up.