5–7 Oct 2026
Europe/Prague timezone

A Compressed RAM Service

Not scheduled
20m
Device and Specific Purpose Memory MC Device and Specific Purpose Memory MC

Speaker

Gregory Price (Meta)

Description

Compressed RAM (where hardware offloads compression) presents a particularly novel problem for the kernel: the device fundamentally lies about its true capacity - while the kernel is written to assume any struct page it can get will always be backed by real capacity.

Unlike zswap/zram - these devices provide cacheline/byte access to compressed memory, their memory can remain page-table mapped and page-cache present without generate faults on read-access (no COW, no software decompression step etc).

Lets discuss what it would take to formalize support for a compressed RAM service that otherwise "looks like" normal memory (migratable, mappable, page-cache-able - but maybe not directly writable).

All but one feature required to achieve support already exists in the kernel (or has existed at one time).

  1. Anon Memory support: Page Table Write Protection (COW, KSM)
  2. Page Cache support: Clean Cache (clean page eligible only)
  3. Reclaim and Demotion
  4. Memory Ballooning (dynamic sizing)
  5. Free Page Reporting (stale data trimming)
  6. Memory Tiering (Hotness / NUMA Balancing)
  7. Strictly controlled NUMA memory allocation (private nodes)

I will present a tested compressed ram service (mm/cram.c) that achieves near-native performance to DRAM under TAOBench and FIO benchmarks, and has been tested under most in-tree filesystems for pagecache correctness.

Author

Presentation materials

There are no materials yet.