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 会话。