《张雄-KVM直通式虚拟PMU _052005.pdf》由会员分享,可在线阅读,更多相关《张雄-KVM直通式虚拟PMU _052005.pdf(8页珍藏版)》请在三个皮匠报告上搜索。
1、Intel Restricted SecretKVM直通式虚拟PMU1张雄张雄 2摘要 perf 和 CPU PMU KVM 模拟式虚拟PMU KVM直通式虚拟PMUIntel Restricted Secret3Perf和CPU PMU perf工具创建感兴趣的事件,并分析事件的发生情况 内核perf子系统,调度perf事件到cpu PMU计数器上进程上下文切换perf 事件数 PMU计数器数 CPU PMU提供有限的计数器 cycles,instructions,cache-hit/miss,branch-hit/miss,.虚拟PMU给cloud用户提供硬件级perf调优能力 系统级事件
2、给虚拟化带来挑战Intel Restricted SecretLinux Userspace Perf UtilityLinux Kernel Perf SubsystemRun:perf record-e branch-misses./test_programsyscalltest_programThreadPMUPerf EventMSR read/writeCPU4模拟式vPMUKVM 展示虚拟PMU给guest,通过虚拟CPUID和虚拟MSRKVM vPMU是host perf系统的一个客户,kvm创建perf事件,参与host perf 调度,拿到cpu pmu计数器当pmu 计数器
3、溢出时,KVM vPMU注入虚拟PMI到guest缺点性能开销太大,特别是guest perf 有多路复用时不可接受当kvm没有取得或者丢失cpu pmu计数器时,guest没有感知而认为底层依旧完好非常难增加新的guest PMU特性,需要在perf 子系统中增加新的接口Intel Restricted Secret5直通式vPMU 在vm-exit/entry进行PMU上下文切换VM-exit:保存guest PMU,重启host perfVM-entry:停止host perf,恢复guest PMU 在VM运行中,guest直接访问PMU MSRs不会引起vm-exit 当PMU计数器
4、溢出时,KVM注入vPMI到guest 优点:perf 开销小,数据准确,容易在guest里使能新PMU特性 缺点:host perf不能监控guest VMIntel Restricted SecretvPMUKVM vCPUMSR read/writevPMIHost Linux Kernel Perf SubsystemvCPU ThreadPerf EventPMUCPUPMILinux Userspace Perf UtilityLinux Kernel Perf SubsystemRun:perf record-e branch-misses./test_programtest_p
5、rogramThreadPerf EventGuest Linux6vPMU性能对比:模拟式 Vs 直通式 负载:SpecInt-2017 硬件:Sapphire Rapids,1 socket,56 cores,no-SMT Perf 命令基础采样:perf record-F 1000-e 6-instructions -a overwrite多路复用采样:perf record-F 1000-e 10-instructions-a-overwriteIntel Restricted SecretVMperfperformanceoverhead模拟式模拟式vPMU直通式直通式vPMU基础采样33.62%4.24%多路复用采样79.32%7.34%7直通式vPMU状态RFC code:https:/lore.kernel.org/lkml/20240126085444.324918-1- Restricted SecretIntel Confidential Do Not Forward