3 ms·
> you _also_ have to make a submit system call of some kind after you've finished appending stuff to your submit queue. Sure. As I understand it, you need a ha
by pdpi 2y ago
> you _also_ have to make a submit system call of some kind after you've finished appending stuff to your submit queue.
Sure. As I understand it, you need a handful of syscalls to get your async IO setup up and running (one io_uring_setup call and a few mmaps), and then you interact with it (both to submit new work and get the results from old work) through the io_uring_enter syscall.
The point is that you're batching things, so you only pay for the context switching of a single physical syscall to make several logical syscalls. It's effectively a solution to the n+1 request problem at the kernel level.