How Futexes Work: Userspace Fast Path, Wait Queues, and Why Mutexes Avoid Syscalls
A mutex that takes a system call on every lock and unlock would dominate a hot critical section. The uncontended case is a few atomic instru...
A mutex that takes a system call on every lock and unlock would dominate a hot critical section. The uncontended case is a few atomic instru...
A mutex that takes a system call on every lock and unlock would dominate a hot critical section. The uncontended case is a few atomic instru...
A process that accepts ten thousand TCP connections cannot afford to ask the kernel about each socket in turn. select(2) and poll(2) copy ...
A shared linked list in the kernel can be walked by thousands of cores at once. A writer still has to insert or delete a node. If every walk...
A CPU core runs one thread at a time. Everything else that looks concurrent is a lie the operating system maintains by switching. The policy...
A kernel module can do almost anything. That is why loading one is a privileged act and why a bug in one can take the machine with it. eBPF ...
TCP can carry bytes in order. It cannot tell you who is on the other end, and it cannot stop a path observer from reading those bytes. HTTPS...
A tight loop of read and write pays for a privilege crossing on every operation. After Spectre-era mitigations that crossing got more expe...
A load that misses DRAM can cost hundreds of cycles. A load that hits L1 often costs a handful. That gap is why two programs with the same b...