1

perfIntel Xeon E5 ファミリ用のパフォーマンス カウンタ (linux) を使用しようとしています。

キャッシュミスの解釈についてはかなり混乱しています。L1 と LLC の値は簡単にアクセスできますが、L2 の情報は -rNNN イベントを介してレジスタから読み取る必要がありました。しかし、ドキュメンテーションでは、イベント番号とマスク フィールドを組み合わせて NNN 値を与える方法を見つけられませんでした。の 1 つの例だけperf helpが、値 A8 と 01 のマスクを示し、結果として 1a8 になります。しかし、マスキングするときの一般的なルールは何ですか? ドキュメントに書かれるべきではないか、それとも標準のOR関数か何かですか?

また、ドキュメントや他の関連トピックの回答から、Xeon の場合に測定された LLC 値が L3 であるか L2 であるかを理解していません。ハードウェアに第 3 レベルのキャッシュがあるとどうなりますか? LLC はまだ最後のレベル、つまり L3 イベントを測定しますか?

クリアした人いる?

4

2 に答える 2

1

カーネルを見て、Xeon のイベント番号を見つけることができるかもしれません。

これがarm v7 A8で見つけたものです

アーチ/アーム/カーネル/perf_event_v7.c:168

[C(LL)] = {
    [C(OP_READ)] = {
        [C(RESULT_ACCESS)]      = ARMV7_A8_PERFCTR_L2_CACHE_ACCESS,
        [C(RESULT_MISS)]        = ARMV7_A8_PERFCTR_L2_CACHE_REFILL,
    },

および arch/arm/kernel/perf_event_v7.c:75

ARMV7_A8_PERFCTR_L2_CACHE_ACCESS                = 0x43,
ARMV7_A8_PERFCTR_L2_CACHE_REFILL                = 0x44,

したがって、ARM の TRM でイベント番号 0x43 と 0x44 を見た後、それらが正確に何を意味するかを知ることができます

于 2013-11-22T23:07:59.893 に答える
0

「LLC」は、Last-Level キャッシュの略です。最近のほとんどの Intel システムには 3 レベルのキャッシュがあるため、プロセッサでは LLC が L3 キャッシュになります。

于 2013-12-21T00:16:45.627 に答える