|
| 1 | +================================================ |
| 2 | +StarFive StarLink Performance Monitor Unit (PMU) |
| 3 | +================================================ |
| 4 | + |
| 5 | +StarFive StarLink Performance Monitor Unit (PMU) exists within the |
| 6 | +StarLink Coherent Network on Chip (CNoC) that connects multiple CPU |
| 7 | +clusters with an L3 memory system. |
| 8 | + |
| 9 | +The uncore PMU supports overflow interrupt, up to 16 programmable 64bit |
| 10 | +event counters, and an independent 64bit cycle counter. |
| 11 | +The PMU can only be accessed via Memory Mapped I/O and are common to the |
| 12 | +cores connected to the same PMU. |
| 13 | + |
| 14 | +Driver exposes supported PMU events in sysfs "events" directory under:: |
| 15 | + |
| 16 | + /sys/bus/event_source/devices/starfive_starlink_pmu/events/ |
| 17 | + |
| 18 | +Driver exposes cpu used to handle PMU events in sysfs "cpumask" directory |
| 19 | +under:: |
| 20 | + |
| 21 | + /sys/bus/event_source/devices/starfive_starlink_pmu/cpumask/ |
| 22 | + |
| 23 | +Driver describes the format of config (event ID) in sysfs "format" directory |
| 24 | +under:: |
| 25 | + |
| 26 | + /sys/bus/event_source/devices/starfive_starlink_pmu/format/ |
| 27 | + |
| 28 | +Example 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 | + |
| 45 | +Sampling is not supported. As a result, "perf record" is not supported. |
| 46 | +Attaching to a task is not supported, only system-wide counting is supported. |
0 commit comments