Qualcomm Technologies 二級快取效能監測單元 (PMU)

該驅動支援在 Qualcomm Technologies Centriq SoC 中發現的 L2 快取叢集。存在多個物理 L2 快取叢集,每個叢集都有自己的 PMU。每個叢集關聯一個或多個 CPU。

公開了一個邏輯 L2 PMU,它聚合了來自物理 PMU 的結果。

驅動在 sysfs 中提供了其可用事件和配置選項的描述,參見 /sys/bus/event_source/devices/l2cache_0。

“format”目錄描述了事件的格式。

事件可以被視為一個二維陣列。每列代表一組事件。共有 8 組。每組中一次只能使用一個條目。如果指定了同一組中的多個事件,則衝突的事件不能同時計數。

事件指定為 0xCCG,其中 CC 是表示程式碼(陣列行)的 2 個十六進位制數字,G 指定組(列)0-7。

此外,還有一個由值 0xFE 指定的迴圈計數器事件,它不在此方案之內。

驅動提供了一個“cpumask”sysfs 屬性,其中包含一個掩碼,該掩碼由每個叢集的一個 CPU 組成,這些 CPU 將用於處理該叢集上的所有 PMU 事件。

perf 的使用示例

perf stat -e l2cache_0/config=0x001/,l2cache_0/config=0x042/ -a sleep 1

perf stat -e l2cache_0/config=0xfe/ -C 2 sleep 1

驅動不支援取樣,因此“perf record”將無法工作。不支援每任務 perf 會話。