我正在尝试从主机上采样来宾OS。我经历了 Andi Kleen的补丁“ kvm:实施PEBS虚拟化”。
要设置来宾PEBS,我在来宾中编写了一个LKM,用于分配 DS保存区域并设置debug_store字段,最后将其传递 主机通过MSR_IA32_DS_AREA调用。收到 MSR_IA32_DS_AREA,主机将来宾页面固定。主机端补丁 在以下基于链接的补丁编写的链接中可用 安迪·克莱恩:
https://gist.github.com/proywm/246e69fe210fba057b721afd6d1f504f#file-pebs-for-guest
不幸的是,这导致了双页错误:
https://gist.github.com/proywm/246e69fe210fba057b721afd6d1f504f#file-double_fault
我正在Intel Broadwell上运行。 Linux内核版本4.15.0-rc4。 任何人都可以指出我在设置PEBS时做错了什么 采样吗?