Linux

What Does TCP listen() Backlog Actually Control on Linux?
Does listen() backlog control the SYN queue or accept queue? Trace Linux 6.10 behavior through somaxconn, SYN cookies, …

How epoll Wakes a Waiting Thread in the Linux Kernel
Trace epoll from epoll_ctl() registration to socket wakeups, ep_poll_callback(), ready-list delivery, ovflist races, …

What Actually Happens During a Linux System Call on x86-64?
Follow a Linux system call across the x86-64 privilege boundary: registers, entry_SYSCALL_64, kernel stacks, KPTI, …

Why Fewer Syscalls Don't Make io_uring Faster Than epoll
io_uring can reduce system calls without improving throughput or tail latency. Compare its completion model, batching, …

mmap() vs read(): When Zero-Copy Is Actually Slower
Is mmap() faster than read()? Compare copying, page faults, readahead, TLB pressure, tail latency, and the workloads …

fork() in Multithreaded Programs: The Child Gets the State, Not the Threads
When a multithreaded process calls fork(), the child keeps locked mutexes, half-flushed buffers, and shared file …

Linux Processes vs Threads: NPTL and Clone() Explained
This article explains the differences between Linux processes and threads, focusing on how Linux implements threading …