linux/drivers/perf
Linus Torvalds 073e62fd33 RISC-V updates for v7.3
- Add initial definitions and discovery for the Smcsrind, Sscsrind,
   Smcntrpmf, Ssccfg, Smcdeleg, Zicclsm, Ziccamoa, Ziccif, Ziccrse,
   Za64rs, and Ssqosid RISC-V ISA extensions
 
 - Improve the RISC-V update_mmu_cache_range() implementation by using
   flush-by-ASID, enabling performance improvements on
   microarchitectures that support related optimizations; and by taking
   advantage of the Svinval RISC-V ISA extension on microarchitectures
   that support it
 
 - Shrink CFI shadow stack allocation further (to 512MB) to save
   virtual address space (and physical memory on systems with strict
   overcommit policies)
 
 - Add initial CPU context switch support for QoS tagging (Ssqosid)
 
 - Change our vector misaligned access speed test code to be
   synchronous, avoiding a bunch of bugs related to unnecessary
   asynchronicity
 
 - Enable ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V to help with ACPI
   table debugging (similar to ARM64 and x86)
 
 - Extract vDSO section offsets at build time, rather than run time, to
   avoid the boot time overhead
 
 - Use assembler directives to control the use of instructions from the
   RISC-V ISA extensions Zacas and Zabha, rather than compiler -march
   flags that could affect the whole kernel (similar to ARM64)
 
 - Add a kselftest for kprobes support for the c.jal instruction on
   RISC-V
 
 - When UEFI runtime services are available, use them to restart and
   power off
 
 - Fix ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V by adding a missing
   include file to the ACPI code
 
 - Move contiguous DMA memory reservation later in the boot, to ensure
   that the correct global and per-node pools are allocated when
   CONFIG_CMA_SIZE_PERNUMA is enabled
 
 - Disallow probes on breakpoint handlers to avoid recursing
   indefinitely into do_trap_break()
 
 - Patch the compat vDSO during runtime alternatives processing, not
   only the standard vDSO
 
 - Remove some leftover XIP support elements missed by commit
   9b3a2be848 ("riscv: Remove support for XIP kernel")
 
 - Fix broadcast timer switching in ACPI LPI power states by
   implementing a RISC-V version of arch_get_idle_state_flags()
 
 - Miscellaneous fixes, including: vDSO makefile simplification;
   marking our default_power_off() as __noreturn; error path fixes in
   the PMU SBI perf driver; RISC-V extension capitalization
   consistency; the use of BIT() macros in one of our include files;
   and some documentation fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElRDoIDdEz9/svf2Kx4+xDQu9KksFAmqGahMACgkQx4+xDQu9
 Kks5lg//d6+oTEXAKYm5e4TQFi7yQFBVfRLskL+t2d1wAPYvDPz3dJEHxU2MSGpC
 I7lYI57hVUMK+PZhZ7IVjNF6WMdxOioAT1FyY4yDaS41AyYWeWUW6IGJCYqtYRrm
 Bf80JORXVrGI4UOw3SbDWr4IWkYKCo6CD/ZPq3vam9um7u0B8dzXxSAuMwH6hqNf
 A/e65c4+Nr/RBzaBc6/s4lPHD2X+YtfgSlhuPlUyDJSVmomvhkLHrxdndRDZKMT6
 BiyJSHlvK78w71beiE6yf+1AysHPffmLuYjCfWxHGQNlAGAUjoDin3EhKgfRZdQ3
 VIMTl/LdhUJZMWFjjr8P8jciZNVsXaRk6IULQ6JIY1cKxioaQhF4PUt4ZQ0HOafO
 /22Uts5fLMrgtxpnMO0CTdHKKpsQ+UZtQFEl2R9PiJSrxnlbw7zYt+I/e+gAPDgY
 ve9VOvT74a1k2KkhfwLU0b8QwoVi4wWJdGoFvj9Tb42fzQvoXaWs3TZehdGK0bbi
 btoNNnve4kRnDQTp+Jr/9iQr1L9CYq/hgn2ClipMUl5pj+oDHk8vDQ+jeboNRlfZ
 FiYud4N4uh6CmJj0XlHLwNar547l9KwTqoAJK9bz4Ti9LxCnLziBiOjyjeXvEA41
 fD9pdHX/kMmz1YjMNvhcd4uRAN48H40UpWvbermuVWpe8/pQEII=
 =Wz+/
 -----END PGP SIGNATURE-----

Merge tag 'riscv-for-linus-7.3-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V updates from Paul Walmsley

 - Add initial definitions and discovery for the Smcsrind, Sscsrind,
   Smcntrpmf, Ssccfg, Smcdeleg, Zicclsm, Ziccamoa, Ziccif, Ziccrse,
   Za64rs, and Ssqosid RISC-V ISA extensions

 - Improve the RISC-V update_mmu_cache_range() implementation by using
   flush-by-ASID, enabling performance improvements on
   microarchitectures that support related optimizations; and by taking
   advantage of the Svinval RISC-V ISA extension on microarchitectures
   that support it

 - Shrink CFI shadow stack allocation further (to 512MB) to save virtual
   address space (and physical memory on systems with strict overcommit
   policies)

 - Add initial CPU context switch support for QoS tagging (Ssqosid)

 - Change our vector misaligned access speed test code to be
   synchronous, avoiding a bunch of bugs related to unnecessary
   asynchronicity

 - Enable ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V to help with ACPI table
   debugging (similar to ARM64 and x86)

 - Extract vDSO section offsets at build time, rather than run time, to
   avoid the boot time overhead

 - Use assembler directives to control the use of instructions from the
   RISC-V ISA extensions Zacas and Zabha, rather than compiler -march
   flags that could affect the whole kernel (similar to ARM64)

 - Add a kselftest for kprobes support for the c.jal instruction on
   RISC-V

 - When UEFI runtime services are available, use them to restart and
   power off

 - Fix ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V by adding a missing
   include file to the ACPI code

 - Move contiguous DMA memory reservation later in the boot, to ensure
   that the correct global and per-node pools are allocated when
   CONFIG_CMA_SIZE_PERNUMA is enabled

 - Disallow probes on breakpoint handlers to avoid recursing
   indefinitely into do_trap_break()

 - Patch the compat vDSO during runtime alternatives processing, not
   only the standard vDSO

 - Remove some leftover XIP support elements missed by commit
   9b3a2be848 ("riscv: Remove support for XIP kernel")

 - Fix broadcast timer switching in ACPI LPI power states by
   implementing a RISC-V version of arch_get_idle_state_flags()

 - Miscellaneous fixes, including: vDSO makefile simplification; marking
   our default_power_off() as __noreturn; error path fixes in the PMU
   SBI perf driver; RISC-V extension capitalization consistency; the use
   of BIT() macros in one of our include files; and some documentation
   fixes

* tag 'riscv-for-linus-7.3-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (39 commits)
  RISC-V: hwprobe: Use BIT macro to avoid warnings
  riscv: alternative: Also patch the compat vDSO
  riscv: alternative: Use the statically extracted vDSO section offsets
  riscv: vdso: Add symbols for the alternative section boundaries
  riscv: Add Ziccamoa, Ziccif, Ziccrse, and Za64rs to cpufeature and hwprobe
  riscv: Add Zicclsm to cpufeature and hwprobe
  riscv: cpufeature: Clarify ISA spec version for canonical order
  riscv: Standardize extension capitalization
  riscv: kprobes: Prevent probes in breakpoint handlers
  riscv: cmpxchg: Use .option arch for Zacas and Zabha
  riscv: acpi: Handle LPI architectural context loss flags
  riscv: further remove XIP
  riscv: Add support for srmcfg CSR from Ssqosid extension
  riscv: Detect the Ssqosid extension
  dt-bindings: riscv: Add Ssqosid extension description
  dt-bindings: riscv: add Counter delegation ISA extensions description
  RISC-V: Add Ssccfg/Smcdeleg ISA extension definition and parsing
  RISC-V: Add Ssccfg extension CSR definition
  dt-bindings: riscv: add Smcntrpmf ISA extension description
  RISC-V: Add Smcntrpmf extension parsing
  ...
2026-08-20 14:53:54 -07:00
..
amlogic perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
arm_cspmu bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
hisilicon bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
alibaba_uncore_drw_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
apple_m1_cpu_pmu.c perf/apple_m1: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm_brbe.c perf: arm_pmuv3: Add support for the Branch Record Buffer Extension (BRBE) 2025-07-08 17:58:49 +01:00
arm_brbe.h perf: arm_pmuv3: Add support for the Branch Record Buffer Extension (BRBE) 2025-07-08 17:58:49 +01:00
arm_dmc620_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
arm_dsu_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
arm_pmu_acpi.c perf: arm_pmu_acpi: Get rid of the edge-triggered interrupt oddity 2026-08-02 11:16:22 +00:00
arm_pmu_platform.c perf: arm_pmu: Request specific affinities for per CPU NMIs/interrupts 2025-10-27 17:16:35 +01:00
arm_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
arm_pmuv3.c perf: arm_pmuv3: Zero initialize hw_id branch stack field 2026-08-07 11:55:16 +00:00
arm_smmuv3_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
arm_spe_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
arm_v6_pmu.c perf/arm: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm_v7_pmu.c perf/arm: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm_xscale_pmu.c perf/arm: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm-cci.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
arm-ccn.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
arm-cmn.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
arm-ni.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
cxl_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
dwc_pcie_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
fsl_imx8_ddr_perf.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
fsl_imx9_ddr_perf.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
fujitsu_uncore_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
Kconfig perf: qcom: Unify user-visible "Qualcomm" name 2026-05-19 11:33:26 +01:00
Makefile perf: add NVIDIA Tegra410 C2C PMU 2026-03-24 12:37:33 +00:00
marvell_cn10k_ddr_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
marvell_cn10k_tad_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
marvell_pem_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
nvidia_t410_c2c_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
nvidia_t410_cmem_latency_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
qcom_l2_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
qcom_l3_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
riscv_pmu_legacy.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
riscv_pmu_sbi.c RISC-V: perf: fix resource cleanup on driver probe failure 2026-08-07 19:24:30 -06:00
riscv_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
starfive_starlink_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00
thunderx2_pmu.c perf: Use sysfs_emit() for cpumask show callbacks 2026-07-22 15:38:37 -04:00
xgene_pmu.c bitmap updates for v7.3 2026-08-20 11:41:46 -07:00