Skip TLB flushes for reused pages within mmap's
Frederic Schimmelpfennig, Andr\'e Brinkmann, Hossein Asadi, Reza, Salkhordeh

TL;DR
This paper introduces a software-based method called fast page recycling (FPR) that reduces costly TLB shootdowns during mmap operations by reusing pages, leading to significant performance improvements without hardware changes.
Contribution
The paper presents FPR, a novel extension to mmap that avoids TLB shootdowns for recycled pages, improving performance and scalability in Linux systems.
Findings
Up to 28% performance improvement in real-world applications
92% reduction in micro-benchmark TLB shootdowns
Demonstrates TLB shootdowns as a major bottleneck in Linux
Abstract
Memory access efficiency is significantly enhanced by caching recent address translations in the CPUs' Translation Lookaside Buffers (TLBs). However, since the operating system is not aware of which core is using a particular mapping, it flushes TLB entries across all cores where the application runs whenever addresses are unmapped, ensuring security and consistency. These TLB flushes, known as TLB shootdowns, are costly and create a performance and scalability bottleneck. A key contributor to TLB shootdowns is memory-mapped I/O, particularly during mmap-munmap cycles and page cache evictions. Often, the same physical pages are reassigned to the same process post-eviction, presenting an opportunity for the operating system to reduce the frequency of TLB shootdowns. We demonstrate, that by slightly extending the mmap function, TLB shootdowns for these "recycled pages" can be avoided.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDigital Rights Management and Security
