実行すると、次のようになりperf stat ls
ます。
Performance counter stats for 'ls':
1.388670 task-clock # 0.067 CPUs utilized
2 context-switches # 0.001 M/sec
0 cpu-migrations # 0.000 K/sec
266 page-faults # 0.192 M/sec
3515391 cycles # 2.531 GHz
2096636 stalled-cycles-frontend # 59.64% frontend cycles idle
<not supported> stalled-cycles-backend
2927468 instructions # 0.83 insns per cycle
# 0.72 stalled cycles per insn
615636 branches # 443.328 M/sec
22172 branch-misses # 3.60% of all branches
0.020657192 seconds time elapsed
Stalled-cycles-backendが「サポートされていません」と表示されるのはなぜですか? この値を確認するには、どのような種類の CPU、ハードウェア、カーネル、またはユーザー空間ソフトウェアが必要ですか?
perf
現在、異なる Intel Core i5 および i7 システム (Ivy Bridge タイプ) で、バージョンが一致する Linux 3.12 for x86_64 の RHEL でこれを試しました。いずれもStalled-cycles-backendをサポートしていません。
いくつかの詳細情報:
$ perf list | grep stalled
stalled-cycles-frontend OR idle-cycles-frontend [Hardware event]
stalled-cycles-frontend OR cpu/stalled-cycles-frontend/ [Kernel PMU event]
$ ls /sys/devices/cpu/events/
branch-instructions bus-cycles cache-references instructions mem-stores
branch-misses cache-misses cpu-cycles mem-loads stalled-cycles-frontend
$ cat /sys/bus/event_source/devices/cpu/events/stalled-cycles-frontend
event=0x0e,umask=0x01,inv,cmask=0x01
編集: AMD Phenom II X6 1045T CPU で、Linux 3.2 (32 ビット) を搭載した Ubuntu 12.04 でこれを試してみました。