eBPF: tracing syscalls without a kernel module

Attaching a verified program to a tracepoint, and why this beats strace under load.

January 12, 2026 · 2 min · mc

Tuning TCP BBR and fq on a high-latency link

Switching off loss-based congestion control on a long-fat path, and the fq gotcha for UDP.

November 3, 2025 · 1 min · mc

A first, honest look at io_uring

Two ring buffers, one syscall, and the mental model that finally made it click.

May 22, 2025 · 2 min · mc

Notes on cgroups v2: memory limits that actually hold

Why my OOM kills moved around after switching to the unified hierarchy, and the three knobs that matter.

March 9, 2025 · 2 min · mc