StarFive StarLink 效能監控單元 (PMU)¶
StarFive StarLink 效能監控單元 (PMU) 存在於 StarLink 片上一致性網路 (CNoC) 中,該網路將多個 CPU 叢集與 L3 記憶體系統連線起來。
Uncore PMU 支援溢位中斷,最多 16 個可程式設計的 64 位事件計數器和一個獨立的 64 位週期計數器。 PMU 只能透過記憶體對映 I/O 訪問,並且對於連線到同一 PMU 的核心是通用的。
驅動程式在 sysfs “events” 目錄下公開支援的 PMU 事件
/sys/bus/event_source/devices/starfive_starlink_pmu/events/
驅動程式在 sysfs “cpumask” 目錄下公開用於處理 PMU 事件的 cpu
/sys/bus/event_source/devices/starfive_starlink_pmu/cpumask/
驅動程式在 sysfs “format” 目錄下描述配置(事件 ID)的格式
/sys/bus/event_source/devices/starfive_starlink_pmu/format/
perf 使用示例
$ perf list
starfive_starlink_pmu/cycles/ [Kernel PMU event]
starfive_starlink_pmu/read_hit/ [Kernel PMU event]
starfive_starlink_pmu/read_miss/ [Kernel PMU event]
starfive_starlink_pmu/read_request/ [Kernel PMU event]
starfive_starlink_pmu/release_request/ [Kernel PMU event]
starfive_starlink_pmu/write_hit/ [Kernel PMU event]
starfive_starlink_pmu/write_miss/ [Kernel PMU event]
starfive_starlink_pmu/write_request/ [Kernel PMU event]
starfive_starlink_pmu/writeback/ [Kernel PMU event]
$ perf stat -a -e /starfive_starlink_pmu/cycles/ sleep 1
不支援取樣。 因此,不支援“perf record”。 不支援附加到任務,僅支援系統範圍的計數。