<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on mc · notes</title><link>https://hk.crepuscule.uk/tags/linux/</link><description>Recent content in Linux on mc · notes</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 12 Jan 2026 18:50:00 +0800</lastBuildDate><atom:link href="https://hk.crepuscule.uk/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>eBPF: tracing syscalls without a kernel module</title><link>https://hk.crepuscule.uk/posts/ebpf/</link><pubDate>Mon, 12 Jan 2026 18:50:00 +0800</pubDate><guid>https://hk.crepuscule.uk/posts/ebpf/</guid><description>Attaching a verified program to a tracepoint, and why this beats strace under load.</description></item><item><title>Tuning TCP BBR and fq on a high-latency link</title><link>https://hk.crepuscule.uk/posts/bbr/</link><pubDate>Mon, 03 Nov 2025 22:15:00 +0800</pubDate><guid>https://hk.crepuscule.uk/posts/bbr/</guid><description>Switching off loss-based congestion control on a long-fat path, and the fq gotcha for UDP.</description></item><item><title>A first, honest look at io_uring</title><link>https://hk.crepuscule.uk/posts/io-uring/</link><pubDate>Thu, 22 May 2025 20:40:00 +0800</pubDate><guid>https://hk.crepuscule.uk/posts/io-uring/</guid><description>Two ring buffers, one syscall, and the mental model that finally made it click.</description></item><item><title>Notes on cgroups v2: memory limits that actually hold</title><link>https://hk.crepuscule.uk/posts/cgroups-v2/</link><pubDate>Sun, 09 Mar 2025 21:10:00 +0800</pubDate><guid>https://hk.crepuscule.uk/posts/cgroups-v2/</guid><description>Why my OOM kills moved around after switching to the unified hierarchy, and the three knobs that matter.</description></item></channel></rss>