Every Mapping Counts in Large Amounts: Folio Accounting
David Hildenbrand, Martin Schulz, Nadav Amit
Abstract
Operating systems can significantly enhance performance by utilizing large contiguous memory regions, even when the memory is not mapped using huge pages, by streamlining memory management. To harness these advantages, Linux has introduced "folios," representing multiple contiguous pages. Unlike traditional huge pages, folios can be partially mapped, which complicates folio accounting and hinders both performance and memory savings.
Accurate and efficient folio accounting is crucial for optimizing memory management operations, enforcing various memory management policies, and performing Unique Set Size accounting in the operating system. In particular, determining whether a folio is exclusively mapped in a single address space is essential for avoiding unnecessary Copy-On-Write operations when memory is no longer shared.
We introduce a novel tracking scheme to determine, with negligible overhead, whether a folio is exclusively mapped in a single address space. Our solution achieves a memory overhead that grows sublinearly with the number of pages per folio. By implementing our method in Linux, we demonstrate a notable improvement in fork and unmap operations by 1.9x and 4.2x respectively, and in the performance of fork-intensive workloads, such as Redis, achieving up to a 2.2x speedup.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 3cb5a817-1cb3-450b-8fd8-a913db60bb2cBuilds on5
- A Comprehensive Analysis of Superpage Management Mechanisms and PoliciesWeixi Zhu, Alan L. Cox, Scott RixnerUSENIX ATC 2020 · 40 citations
- Perforated Page: Supporting Fragmented Memory Allocation for Large PagesChang Hyun Park, Sanghoon Cha, Bokyeong Kim, Youngjin Kwon et al.ISCA 2020 · 35 citations
- On-demand-fork: a microsecond fork for memory-intensive and latency-sensitive applicationsKaiyang Zhao, Sishuai Gong, Pedro FonsecaEuroSys 2021 · 25 citations
- DiLOS: Do Not Trade Compatibility for Performance in Memory DisaggregationWonsup Yoon, Jisu Ok, Jinyoung Oh, Sue Moon et al.EuroSys 2023 · 21 citations
- Copy-on-Pin: The Missing Piece for Correct Copy-on-WriteDavid Hildenbrand, Martin Schulz, Nadav AmitASPLOS 2023 · 4 citations
Related papers
- Scalable Address Spaces using Concurrent Interval SkiplistTae Woo Kim, Youngjin Kwon, Jeehoon KangSOSP 2025
- Mitosis: Transparently Self-Replicating Page-Tables for Large-Memory MachinesReto Achermann, Ashish Panwar, Abhishek Bhattacharjee, Timothy Roscoe et al.ASPLOS 2020 · 62 citations
- Utopia: Fast and Efficient Address Translation via Hybrid Restrictive & Flexible Virtual-to-Physical Address MappingsKonstantinos Kanellopoulos, Rahul Bera, Kosta Stojiljkovic, F. Nisa Bostanci et al.MICRO 2023 · 15 citations
- μFork: Supporting POSIX fork Within a Single-Address-Space OSJohn Alistair Kressel, Hugo Lefeuvre, Pierre OlivierSOSP 2025
- Gemina: A Coordinated and High-Performance Memory Deduplication EngineZhehua Zhang, Suzhen Wu, Wenyan You, Chunfeng Du et al.HPCA 2025
