私はこの行動が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
より多くのヒットが発生しますが、オペコードのヒットによってメモリのロード/書き込みが発生しません。
この行動をどのように説明できますか? 「キャッシュミス」と見なされるものは正確に何ですか?