perf -e キャッシュミス:ppを解釈するには?

perf -e キャッシュミス:ppを解釈するには?

私はこの行動がperf top -e cache-misses:pp -p <my_pid>非常に混乱していると思います。カーネル4.4.5 64ビットを実行するIntel i5-3230Mがあります。

これらのコマンドを実行すると、デフォルトではアプリケーションからサンプルを取得できませんが(大きなデータセットを使用した数値シミュレーションであるため、キャッシュが欠落していることを確認する必要があります)、ほとんどいくつかのカーネル関数からのみ取得intel_pmu_lbr_enable_allできnative_write_msr_safeますnative_read_msr_safe__intel_pmu_lbr_disable。ユーザースペースのクリック制限を使用すると、-K私のアプリでのみクリックが発生しますが、その数値は非常に低いです。 「正しい」()修飾子を削除すると、pより多くのヒットが発生しますが、オペコードのヒットによってメモリのロード/書き込みが発生しません。

この行動をどのように説明できますか? 「キャッシュミス」と見なされるものは正確に何ですか?

関連情報