パフォーマンスカーネルカウンタの動作に問題があります。

パフォーマンスカーネルカウンタの動作に問題があります。

私は "perf_event_create_kernel_counter" APIを介してパフォーマンスカウンタを生成し、定期的にその値を読み取るカーネルモジュールを作成しました。

私のアプリケーションはカーネルバージョン4.0.9(および以前のリビジョン)では動作しますが、カーネルバージョン4.1(以降)では動作しません。

デフォルトでは、カーネルの将来のバージョンではソフトウェアカウンタ(例PERF_COUNT_SW_CPU_CYCLES:)のみを読み取ることができますが、ハードウェアカウンタ(例PERF_COUNT_HW_CACHE_MISSES:)は読み取れません。

具体的には、カーネルバージョン4.1以降では、ハードウェアカウンタは常に0として表示されます。

この問題の原因と解決策を知っている人はいますか?

ベストアンサー1

おすすめ記事