Ringing in a new asynchronous I/O API & The rapid growth of io_uring

  • Map a program’s IO buffers into the kernel; this prevents repeated mapping / unmapping.
  • exists
  • Completions can be delivered or polled for. A fully-polled mode that lasts “forever” OR until one full idle second. The kernel will maintain a polling thread that delivers completions.

While the kernel has had support for asynchronous I/O (AIO) since the 2.5 development cycle, it has also had people complaining about AIO for about that long.

  • What about epoll? How is AIO different from epoll?