为硬件性能计数器测试自定义内核的最佳方法
Best way to test a custom kernel for hardware performance counters
我想修改一个官方的linux内核来测试perf linux模块的一些可能性(我需要修改kernel/events/...中的一些文件,不仅tools/perf/...).
我天真地想使用 VM 或 Docker,但我需要使用硬件性能计数器 (HPC) 来测试我的自定义版本;这是个大问题:
- Docker 可以采用 HPC,但我明白,但仅限于我的主机内核,如果不在我的系统上安装自定义内核,我无法直接测试它(如果我错了请纠正我)
- VM 无法采用 HPC,因为它无法模拟它
在不直接在我的 ubuntu 系统上安装内核的情况下测试自定义内核 linux 的最佳方法是什么?如果必须,进行这些测试的最优雅的方法是什么?谢谢。
我找到了一个解决方案:KVM + QEMU 模拟器。
为了使用 PMU,我在 VM 参数中更改了这个参数(XML 格式):
<cpu mode='host-passthrough'/>
或者您可以在 cmd 行中添加此选项:
-cpu host
我部分遵循了这个 page for building the kernel on qemu and for the counters this 。
我想修改一个官方的linux内核来测试perf linux模块的一些可能性(我需要修改kernel/events/...中的一些文件,不仅tools/perf/...).
我天真地想使用 VM 或 Docker,但我需要使用硬件性能计数器 (HPC) 来测试我的自定义版本;这是个大问题:
- Docker 可以采用 HPC,但我明白,但仅限于我的主机内核,如果不在我的系统上安装自定义内核,我无法直接测试它(如果我错了请纠正我)
- VM 无法采用 HPC,因为它无法模拟它
在不直接在我的 ubuntu 系统上安装内核的情况下测试自定义内核 linux 的最佳方法是什么?如果必须,进行这些测试的最优雅的方法是什么?谢谢。
我找到了一个解决方案:KVM + QEMU 模拟器。
为了使用 PMU,我在 VM 参数中更改了这个参数(XML 格式):
<cpu mode='host-passthrough'/>
或者您可以在 cmd 行中添加此选项:
-cpu host
我部分遵循了这个 page for building the kernel on qemu and for the counters this