We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The Evolution of File Descriptor Monitoring in Linux

Formal Metadata

Title
The Evolution of File Descriptor Monitoring in Linux
Subtitle
From select(2) to io_uring
Title of Series
Number of Parts
637
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
File descriptor monitoring is at the core of event-driven applications from graphical applications to web servers. Over the history of Linux, a number of system calls APIs have been introduced to improve upon the performance, features, and interface design. Developers may ask themselves which API they should use and how they differ. This talk covers select(2), poll(2), epoll(7), as well as the more recent Linux AIO and io_uring APIs. We will look at the classic scalability challenges with these APIs as well as the latest shared kernel memory ring and polling approaches. An understanding of the evolution of file descriptor monitoring in Linux exposes API design topics that have relevance even if you don't need to implement an event loop in your application.