|
Registration
Content
Event Info
Additional Info
|
|
Asynchronous System Calls
Zach Brown (zab@zabbo.net)
The Linux kernel provides a system call interface for asynchronous I/O (AIO) which has not been widely adopted. It supports few operations and provides asynchronous submission and completion of those operations in limited circumstances. It has succeeded in providing cache-avoiding reads and writes to regular files, used almost exclusively by database software. Maintaining this minimal functionality has proven to be disproportionately difficult which has in turn discouraged adding support for other operations.
Recently Ingo Molnar introduced a subsystem called syslets. Syslets give user space a new system call interface for performing asynchronous operations. They support efficient asynchronous submission and completion of almost every existingsystem call interface in the kernel.
This paper documents the path that lead from the limits of the existing AIO implementation to syslets. Syslets have the potential to both reduce the cost and broaden the functionality of AIO support in the Linux kernel.
|