我正在尝试在具有PMU支持的aria10 fpga板(带有2个ARM Cortex A9 CPU)上配置我的用户空间程序。我正在运行windriver linux版本9.x.我使用人们在互联网上建议的几乎所有CONFIG_选项构建了我的内核。另外,我的pgm是用-fno-omit-frame-pointer和-g options编译的。
我看到'perf record'根本不生成任何样本。 'perf stat true'输出看起来有效(不知道该怎么做)。有没有人有建议/想法为什么我没有看到任何样本被生成?
~: perf record --call-graph dwarf -- my_app
^C
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.003 MB perf.data ]
~: perf report -g graph --no-children
Error:
The perf.data file has no samples!
To display the perf.data header info, please use --header/--header-only options.
~: perf stat true
Performance counter stats for 'true':
1.095300 task-clock (msec) # 0.526 CPUs utilized
0 context-switches # 0.000 K/sec
0 cpu-migrations # 0.000 K/sec
22 page-faults # 0.020 M/sec
1088056 cycles # 0.993 GHz
312708 instructions # 0.29 insn per cycle
29159 branches # 26.622 M/sec
16386 branch-misses # 56.20% of all branches
0.002082030 seconds time elapsed
我没有在此设置中使用VM。 Arria10是具有2个ARM CPU的intel FPGA,支持PMU。
编辑: 1.我现在意识到ARM CPU具有HW PMU支持(与我之前提到的相反)。即使有了HW PMU支持,我也无法做到记录'成功。
答案 0 :(得分:1)
这是一个古老的问题,但对于通过搜索找到该问题的人来说:
perf record -e cpu-clock <command>
为我工作。问题似乎是默认事件(周期)不可用