kernel bypass
Normally, when a program sends a network packet or reads from a disk, it asks the operating-system kernel to do it via a system call, and the kernel mediates everything for safety and sharing. That mediation is usually worth it, but at extreme speeds it becomes the bottleneck itself: each system call crosses into kernel mode and back, copies data between buffers, and may cause an interrupt and a context switch — overhead that is fine for a website but ruinous when you must handle tens of millions of packets a second. Kernel bypass is the idea of letting a trusted application talk to the hardware much more directly, taking the kernel out of the hot path.
There are two flavours worth knowing. True kernel bypass hands a device almost directly to a user-space program: a framework like DPDK lets a networking application poll the network card and move packets in user space without a system call per packet, so it can drive a card at full line rate. The cost is that the application now owns that device exclusively and must do work the kernel normally did. The gentler flavour keeps the kernel but slashes its overhead: io_uring is a Linux interface where the application and kernel share a pair of ring buffers in memory, so a program can submit many I/O requests and collect their results in batches with few or no system calls and no per-operation copying — keeping safety while cutting the crossings.
The honest trade-off is the recurring theme of this field: bypassing or thinning the kernel buys speed at the cost of the protection, sharing, and convenience the kernel provided. A device dedicated to one application cannot be safely shared with others, and pushing kernel duties into user space means the application must handle them correctly itself. Kernel bypass is essential for high-performance networking and storage, but it is a specialist tool, not a default — most software is better served by the ordinary, safe kernel path.
A network appliance must filter 40 million packets per second. With one system call per packet, the kernel crossings alone would swamp the CPU. Using DPDK, the application polls the network card directly in user space and processes packets in tight batches with no per-packet system call — reaching full line rate that the ordinary kernel path could never sustain.
Take the kernel out of the hot path to reach speeds it cannot sustain.
Kernel bypass trades safety and sharing for speed. A device given directly to one app cannot be safely shared, and that app must correctly do the protection work the kernel used to do — so it is a specialist tool, not a default.