Registration

Register
Login

Content

Call For Papers
Schedule
Presentations
Tutorials
BOFS

Event Info

Venue
Travel
FAQ
Link Us

Additional Info

Sponsors
Special Events Contact Us
Media
Archives
Home



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.