~/talk

Sharing IOMMU PageTables with TDP in KVM

Talkat KVM Forum 2021 · 2021-09-15..09-16· [kubernetes]
name:Lu Baolu
links:none on file
name:Zhao Yan
links:none on file
slides:none on file

KVM shares the CPU TDP as IOMMU page tables to remove duplicated GPA→HPA mappings by adding three interfaces: request_sharing, pin/unpin and page‑fault forwarding plus a root‑update notification. Implementation pins all user pages and TDP pages and requires atomic TDP updates when splitting huge pages. Prototype works functionally but slows boot: baseline 29s versus 32s with sharing (caused by 132 pre-populations); remaining work includes snoop bit handling, dirty‑tracking, nested VM support and root‑update optimizations.

AI-written summary · about

  1. 0:00Intro
  2. 0:26Agenda
  3. 1:10Goal
  4. 1:53Sharing Advantages
  5. 2:18Sharing Prerequisites
  6. 3:22The Same Address Space (Cont.)
  7. 4:04Compatible Page Table Formats
  8. 4:57Sharing Handshake Sequence
  9. 8:11Non-conflicting Page Table Content (Cont.)
  10. 9:13Sharing Interfaces
  11. 12:02Atomic Update for TDP Entries Atomia update is required for TOP entries for pinned ranges, when
  12. 12:45Page & Page Table Pinning Interfaces . For sharing without 10 page fault, - Pinning of all ranges in user memslots: memslot add - Pinning a specific range extra interface
  13. 14:44Shared Page Table Root Update
  14. 17:01Bootup Performance
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.