Multi-Gen LRU
Multi-Gen LRU is a Linux page-reclaim implementation that groups evictable pages by approximate access recency and uses refault feedback to guide protection.
In Linux v6.12, generations group similar recency while tiers distinguish repeated file-descriptor accesses; tiers are not separate LRU lists. This is not an exact per-reference LRU ordering. [1]
The min_ttl_ms option protects a recent working set, but insufficient memory can trigger the OOM killer; zero disables this option. It is not a per-file retention promise. [2]
The experimental debugfs histogram is noncumulative and scoped by memory cgroup and NUMA node. Counts are estimated pages, not bytes or request counts. [2]
The workingset_refault function dispatches to lru_gen_refault when MGLRU is enabled, before the classic refault-distance path. Do not apply the classic formula indiscriminately. [3]
Relations
Limitations
- Version-pinned source interpretation, not a workload benchmark or a claim that every Linux installation enables MGLRU. [2]
Citations
- Linux v6.12: Multi-Gen LRU design, workflow and working-set protection.
- Linux v6.12: Multi-Gen LRU administration, runtime options and noncumulative working-set histograms.
- Linux v6.12 mm/workingset.c: workingset_refault dispatches separately to lru_gen_refault.
Further reading
Sources & caveats
- Primary-source synthesis for Linux v6.12; no memory-pressure experiment or runtime configuration change.