PageFlex: Flexible and Efficient User-space Delegation of Linux Paging Policies...
summary
PageFlex externalizes Linux paging policies by running eBPF policy handlers that read low-overhead in-kernel signals, store a small per-page state slot, and signal actions back to the kernel while keeping swap mechanisms intact. It uses madvise to enact page-in/page-out decisions, reproduces Hyperbolic caching and Leap prefetching, and enables region- and phase-aware policies. Compared to userfaultfd-based approaches that cause up to 15% slowdown, PageFlex delivers equivalent policy effectiveness with less than 1% application slowdown.
AI-written summary · about
chapters (7)
- 0:00Memory efficiency challenges
- 1:44OS paging limitations
- 3:30Policy fungibility challenges
- 5:37PageFlex design insights
- 8:07PageFlex flexible policies
- 9:55Performance vs OS
- 11:42PageFlex benefits
related talks
30mFlexible Paging in Linux: Per-process Page Size
29mcache_ext: Customizing the Page Cache with eBPF
44mLarge Pages in Linux
47mLinux's Leap Beyond Fixed Pages
10mExtMem: Enabling Application-Aware Virtual Memory Management for Data-Intensive...
30mA move_pages() equivalent for physical memory
21mLessons Learned Building a Production Memory-Overcommit Solution
19mLLFree: Scalable and Optionally-Persistent Page-Frame Allocation
