Towards an Alternative Memory Architecture
summary
Proposal reclaims per-node metadata by remove struct page and repurpose DAX for volatile RAM via EFI memory tagging, turning large reserved ranges into user-mappable PFN devices and pageless PFN mappings. Measured overhead is ~1.5–1.75% of RAM (≈16 GB/TiB, 128–160 GB on 8 TiB, ~1.2 TiB on 64 TiB), bring-up becomes much faster for those devices, and attack surface for Spectre V1 shrinks. Works for KVM/VFIO/vhost with caveats: breaks get_user_pages, direct IO and some kernel services, so extra notifier and subsystem work remain.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:19The direct map
- 5:34Security vulnerabilities
- 6:43Can we do better for hypervisors?
- 7:42dev/mem and mem=NNN
- 10:19The Device DAX Interface
- 16:17Device DAX without struct page
- 18:34Example usage
- 20:13Use cases for pageless/secret memory in KVM
- 21:10Advantages
- 24:22ASI and Pageless Memory
- 25:22Huge Pages and less struct pages
related talks
43mPromise and Pitfalls of Persistent Memory
51mDemystifying Memory: A Practical Tutorial on Managing & Optimizing Memory in Zephyr
19mP2CACHE: Exploring Tiered Memory for In-Kernel File Systems Caching
38mDeferred Memblocks Init for Boot Time Reduction
40mInspecting and Optimizing Memory Usage in Linux
25mExploring Intel Sub-Page Protection in Context of Live Migration
41mZephyr RTOS: Under 1KB of RAM
51mDemystifying Memory: A Practical Tutorial on Managing & Optimizing Memory in Zephyr
