09/08/2026 –, TR213
本議程將從 Linux 虛擬記憶體 (VM) 子系統的演化脈絡出發,分三個部分介紹:
- RMAP 發展史: 從 Linux v2.5 的 pte_chain(per-page reverse mapping)出發,探討其 scalability 問題;接著介紹 Andrea Arcangeli 在 2004 年導入 anon_vma 的設計背景,以及如何回應 VM scalability、分析 anon_vma_chain 如何改善大量 fork workload 的擴展性問題;最後介紹以 interval tree 改善大型 address space 下的 VMA lookup 與 RMAP walk scalability
- RMAP 在現代頁面置換中的作用: 介紹 Multi-Gen LRU(MGLRU)如何透過 generation-based aging,減少 reclaim 過程中對 page table 與 reverse mapping 的重複掃描,並說明其在現代資料中心 workload 下的重要性。
- 實驗量化 RMAP Overhead: 使用 bpftrace 掛載 kprobe:rmap_walk,量測 Transparent HugePage (THP) 啟用與停用時的 latency 分布差異,並分析 huge page split、folio reclaim 與 deferred split queue 等路徑如何影響 reverse mapping 成本。
徐彥翔(c8763yee)
就讀中正大學資訊工程研究所(OSLAB)
I Use {Arch,Fedora} BTW