Lies Programmers Believe about Memory

Tuesday, March 25, 2025 - 3:55 pm4:40 pm PDT

Chris Down, Meta

Abstract: 

How does kernel memory management actually work? The Linux kernel provides a number of abstractions on top of physical memory, which, like most abstractions, can either be a blessing or a curse, especially when it comes to understanding application behavior. Some of these exist in conjunction with the hardware, like translation lookaside buffers, page tables, and the like, and some of them are Linux's own internal abstractions over memory, like different classes of memory within the operating system itself (with bonus special and often misunderstood properties).

Join Chris Down, a kernel engineer who works on the Linux memory management subsystem, as we go over things like the CPU's memory management internals, pages, the inner workings of virtual memory, and the complex tradeoffs made during modern memory management. Along the way, we will demystify the kernel and CPU behaviors around memory, go over how this might actually affect you as an SRE, and hopefully enable you to introspect and build more reliable systems as a result.

Chris Down is an engineer on Meta's Kernel team, based in London. He works on memory management within the kernel, especially cgroups, and is also a maintainer of the systemd project. Inside Meta, he is responsible for debugging and resolving major production issues, helping streamline engineering workflows, and improving the reliability and efficiency of Meta's systems at scale.

BibTeX
@conference {305547,
author = {Chris Down},
title = {Lies Programmers Believe about Memory},
year = {2025},
address = {Santa Clara, CA},
publisher = {USENIX Association},
month = mar
}