TECH Signal 169
Epoll and Kqueue: How Operating Systems Learned to Wait Efficiently
The article explains how epoll and kqueue replace polling with persistent kernel tracking to reduce CPU overhead in high-concurrency I/O.
Engineers building scalable network services must replace thread-per-connection or polling models with event notification APIs to avoid CPU saturation from linear descriptor scans. Without these mechanisms, handling thousands of connections becomes infeasible due to excessive context switching and idle waiting.
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
epoll and kqueue replace polling with persistent kernel event tracking to eliminate linear descriptor scans.
They enable event-driven I/O by registering interest once and receiving notifications only on state changes.
This shifts waiting cost from capacity-dependent to activity-dependent, scaling with concurrent connections.
THE CLUSTER
↗