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>