从用户空间启用/读取PMU

时间:2019-05-13 15:15:12

标签: linux arm

我想从用户空间访问PMU,但是在我的系统之一上,PMUSERENR设置为0,这使得其余PMU无法访问。该寄存器为EL0处的RO,因此,如果我尝试对其进行设置,则会收到一条非法指令。有什么办法可以从用户空间强制执行此操作吗? (任何标准系统调用等?我在linux 4.1系统上)

如果没有,是否有什么好方法可以获取用户空间中每毫秒的时钟周期数?

1 个答案:

答案 0 :(得分:1)

您可以使用perf_event_open从用户空间设置硬件性能计数器,并使用read syscall读取它们。