Logo

The Linux Kernel

6.12.0-rc1

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
    • Linux kernel release 6.x <http://kernel.org/>
    • The kernel’s command-line parameters
    • Linux allocated devices (4.x+ version)
    • Documentation for /proc/sys
    • Linux ABI description
    • Feature status on all architectures
    • Hardware vulnerabilities
    • 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
      • HiSilicon SoC uncore Performance Monitoring Unit (PMU)
      • HiSilicon PCIe Performance Monitoring Unit (PMU)
      • HNS3 Performance Monitoring Unit (PMU)
      • Freescale i.MX8 DDR Performance Monitoring Unit (PMU)
      • Qualcomm Technologies Level-2 Cache Performance Monitoring Unit (PMU)
      • Qualcomm Datacenter Technologies L3 Cache Performance Monitoring Unit (PMU)
      • StarFive StarLink Performance Monitor Unit (PMU)
      • ARM Cache Coherent Network
      • Arm Coherent Mesh Network PMU
      • Arm Network-on Chip Interconnect PMU
      • APM X-Gene SoC Performance Monitoring Unit (PMU)
      • ARM DynamIQ Shared Unit (DSU) PMU
      • Cavium ThunderX2 SoC Performance Monitoring Unit (PMU UNCORE)
      • Alibaba’s T-Head SoC Uncore Performance Monitoring Unit (PMU)
      • Synopsys DesignWare Cores (DWC) PCIe Performance Monitoring Unit (PMU)
      • NVIDIA Tegra SoC Uncore Performance Monitoring Unit (PMU)
      • Amlogic SoC DDR Bandwidth Performance Monitoring Unit (PMU)
      • CXL Performance Monitoring Unit (CPMU)
      • Ampere SoC Performance Monitoring Unit (PMU)
    • pstore block oops/panic logger
    • Rules on how to access information in sysfs
    • Discovering Linux kernel subsystems used by a workload
    • ACPI Support
    • ATA over Ethernet (AoE)
    • Auxiliary Display Support
    • A block layer cache (bcache)
    • The Android binderfs Filesystem
    • Kernel Support for miscellaneous Binary Formats (binfmt_misc)
    • Block Devices
    • Boot Configuration
    • Linux Braille Console
    • btmrvl driver
    • Control Groups version 1
    • Control Group v2
    • CIFS
    • Clearing WARN_ONCE
    • CPU load
    • How CPU topology info is exported via sysfs
    • Dell Remote BIOS Update driver (dell_rbu)
    • Device Mapper
    • EDID
    • The EFI Boot Stub
    • ext4 General Information
    • File system Monitoring with fanotify
    • NFS
    • GPIO
    • Notes on the change from 16-bit UIDs to 32-bit UIDs
    • Hardware random number generators
    • Using the initial RAM disk (initrd)
    • I/O statistics fields
    • Java(tm) Binary Kernel Support for Linux v1.03
    • IBM’s Journaled File System (JFS) for Linux
    • Reducing OS jitter due to per-cpu kthreads
    • Laptop Drivers
    • Parallel port LCD/Keypad Panel support
    • LDM - Logical Disk Manager (Dynamic Disks)
    • Softlockup detector and hardlockup detector (aka nmi_watchdog)
    • Linux Security Module Usage
    • RAID arrays
    • Media subsystem admin and user guide
    • Memory Management
    • Kernel module signing facility
    • Mono(tm) Binary Kernel Support for Linux
    • Namespaces
    • Numa policy hit/miss statistics
    • Parport
    • Perf events and tool security
    • Power Management
    • Linux Plug and Play Documentation
    • RapidIO Subsystem Guide
    • Reliability, Availability and Serviceability (RAS)
    • Error decoding
    • Address translation
    • Real Time Clock (RTC) Drivers for Linux
    • Linux Serial Console
    • Video Mode Selection Support 2.13
    • Syscall User Dispatch
    • Linux Magic System Request Key Hacks
    • Thermal Subsystem
    • USB4 and Thunderbolt
    • Using UFS
    • Unicode support
    • Software cursor for VGA
    • Video Output Switcher Control
    • The SGI XFS Filesystem
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source

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 5.3.0 & Alabaster 0.7.12 | Page source