Marvell Odyssey LLC-TAD 性能监控单元 (PMU UNCORE)¶
每个 TAD 提供八个 64 位计数器用于监控缓存行为。驱动程序始终为所有 TAD 配置相同的计数器。用户最终会有效地在每个 TAD 中保留八个计数器中的一个,以查看所有 TAD。事件的发生情况会在工作负载运行结束时汇总并呈现给用户。驱动程序不提供用户对 TAD 进行分区的方法,以便不同的 TAD 可用于不同的应用程序。
性能事件反映了各种内部或接口活动。通过组合多个性能计数器的值,可以衡量缓存性能,例如:缓存未命中率、缓存分配、接口重试率、内部资源占用率等。
PMU 驱动程序在 sysfs 下公开可用的事件和格式选项
/sys/bus/event_source/devices/tad/events/
/sys/bus/event_source/devices/tad/format/
示例
$ perf list | grep tad
tad/tad_alloc_any/ [Kernel PMU event]
tad/tad_alloc_dtg/ [Kernel PMU event]
tad/tad_alloc_ltg/ [Kernel PMU event]
tad/tad_hit_any/ [Kernel PMU event]
tad/tad_hit_dtg/ [Kernel PMU event]
tad/tad_hit_ltg/ [Kernel PMU event]
tad/tad_req_msh_in_exlmn/ [Kernel PMU event]
tad/tad_tag_rd/ [Kernel PMU event]
tad/tad_tot_cycle/ [Kernel PMU event]
$ perf stat -e tad_alloc_dtg,tad_alloc_ltg,tad_alloc_any,tad_hit_dtg,tad_hit_ltg,tad_hit_any,tad_tag_rd <workload>