Logo of The Linux Kernel

The Linux Kernel

6.17.0-rc7

快速搜尋

Contents

  • Development process
  • 提交補釘
  • 行為守則
  • 維護者手冊
  • All development-process docs
  • 核心 API
  • Driver APIs
  • 子系統
  • Locking
  • Licensing rules
  • 撰寫文件
  • 開發工具
  • 測試指南
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
    • General guides to kernel administration
    • Booting the kernel
    • Tracking down and identifying problems
      • Reporting issues
      • Reporting regressions
      • How to quickly build a trimmed Linux kernel
      • How to verify bugs and bisect regressions
      • Bug hunting
      • Bisecting a regression
      • Tainted kernels
      • Ramoops oops/panic logger
      • Dynamic debug
      • Explaining the "No working init found." boot hang message
      • Documentation for Kdump - The kexec-based Crash Dumping Solution
      • Performance monitor support
      • pstore block oops/panic logger
      • Clearing WARN_ONCE
      • Reducing OS jitter due to per-cpu kthreads
      • Softlockup detector and hardlockup detector (aka nmi_watchdog)
      • Reliability, Availability and Serviceability (RAS)
      • Error decoding
      • Address translation
      • Linux Magic System Request Key Hacks
    • Core-kernel subsystems
    • Block-layer and filesystem administration
    • Device-specific guides
    • Workload analysis
    • Everything else
  • 建置系統
  • 回報議題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體與裝置樹
  • CPU 架構
  • 未排序的文件

本頁

  • 顯示原始碼

StarFive StarLink Performance Monitor Unit (PMU)¶

StarFive StarLink Performance Monitor Unit (PMU) exists within the StarLink Coherent Network on Chip (CNoC) that connects multiple CPU clusters with an L3 memory system.

The uncore PMU supports overflow interrupt, up to 16 programmable 64bit event counters, and an independent 64bit cycle counter. The PMU can only be accessed via Memory Mapped I/O and are common to the cores connected to the same PMU.

Driver exposes supported PMU events in sysfs "events" directory under:

/sys/bus/event_source/devices/starfive_starlink_pmu/events/

Driver exposes cpu used to handle PMU events in sysfs "cpumask" directory under:

/sys/bus/event_source/devices/starfive_starlink_pmu/cpumask/

Driver describes the format of config (event ID) in sysfs "format" directory under:

/sys/bus/event_source/devices/starfive_starlink_pmu/format/

Example of perf usage:

$ 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

Sampling is not supported. As a result, "perf record" is not supported. Attaching to a task is not supported, only system-wide counting is supported.

©The kernel development community. | Powered by Sphinx 8.2.3 & Alabaster 1.0.0 | Page source