1================================================ 2StarFive StarLink Performance Monitor Unit (PMU) 3================================================ 4 5StarFive StarLink Performance Monitor Unit (PMU) exists within the 6StarLink Coherent Network on Chip (CNoC) that connects multiple CPU 7clusters with an L3 memory system. 8 9The uncore PMU supports overflow interrupt, up to 16 programmable 64bit 10event counters, and an independent 64bit cycle counter. 11The PMU can only be accessed via Memory Mapped I/O and are common to the 12cores connected to the same PMU. 13 14Driver exposes supported PMU events in sysfs "events" directory under:: 15 16 /sys/bus/event_source/devices/starfive_starlink_pmu/events/ 17 18Driver exposes cpu used to handle PMU events in sysfs "cpumask" directory 19under:: 20 21 /sys/bus/event_source/devices/starfive_starlink_pmu/cpumask/ 22 23Driver describes the format of config (event ID) in sysfs "format" directory 24under:: 25 26 /sys/bus/event_source/devices/starfive_starlink_pmu/format/ 27 28Example of perf usage:: 29 30 $ perf list 31 32 starfive_starlink_pmu/cycles/ [Kernel PMU event] 33 starfive_starlink_pmu/read_hit/ [Kernel PMU event] 34 starfive_starlink_pmu/read_miss/ [Kernel PMU event] 35 starfive_starlink_pmu/read_request/ [Kernel PMU event] 36 starfive_starlink_pmu/release_request/ [Kernel PMU event] 37 starfive_starlink_pmu/write_hit/ [Kernel PMU event] 38 starfive_starlink_pmu/write_miss/ [Kernel PMU event] 39 starfive_starlink_pmu/write_request/ [Kernel PMU event] 40 starfive_starlink_pmu/writeback/ [Kernel PMU event] 41 42 43 $ perf stat -a -e /starfive_starlink_pmu/cycles/ sleep 1 44 45Sampling is not supported. As a result, "perf record" is not supported. 46Attaching to a task is not supported, only system-wide counting is supported. 47