linux/drivers/perf
Linus Torvalds c43267e679 arm64 updates for 7.1:
Core features:
 
  - Add support for FEAT_LSUI, allowing futex atomic operations without
    toggling Privileged Access Never (PAN)
 
  - Further refactor the arm64 exception handling code towards the
    generic entry infrastructure
 
  - Optimise __READ_ONCE() with CONFIG_LTO=y and allow alias analysis
    through it
 
 Memory management:
 
  - Refactor the arm64 TLB invalidation API and implementation for better
    control over barrier placement and level-hinted invalidation
 
  - Enable batched TLB flushes during memory hot-unplug
 
  - Fix rodata=full block mapping support for realm guests (when
    BBML2_NOABORT is available)
 
 Perf and PMU:
 
  - Add support for a whole bunch of system PMUs featured in NVIDIA's
    Tegra410 SoC (cspmu extensions for the fabric and PCIe, new drivers
    for CPU/C2C memory latency PMUs)
 
  - Clean up iomem resource handling in the Arm CMN driver
 
  - Fix signedness handling of AA64DFR0.{PMUVer,PerfMon}
 
 MPAM (Memory Partitioning And Monitoring):
 
  - Add architecture context-switch and hiding of the feature from KVM
 
  - Add interface to allow MPAM to be exposed to user-space using resctrl
 
  - Add errata workaround for some existing platforms
 
  - Add documentation for using MPAM and what shape of platforms can use
    resctrl
 
 Miscellaneous:
 
  - Check DAIF (and PMR, where relevant) at task-switch time
 
  - Skip TFSR_EL1 checks and barriers in synchronous MTE tag check mode
    (only relevant to asynchronous or asymmetric tag check modes)
 
  - Remove a duplicate allocation in the kexec code
 
  - Remove redundant save/restore of SCS SP on entry to/from EL0
 
  - Generate the KERNEL_HWCAP_ definitions from the arm64 hwcap
    descriptions
 
  - Add kselftest coverage for cmpbr_sigill()
 
  - Update sysreg definitions
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAmnc8DEACgkQa9axLQDI
 XvFauRAAhc1cIgoRpgtdZd7+3/g457teDPYA3L/CjJzI28aesIpV/ECrEw2GL4xs
 HrQfijF4oyCDbBwh0sAascO/H7RoyOranlbuc+fVJ6Bj6gP9STzR4GmscsWkAMSJ
 vA3Jd1DREdDBO2sjw+hGhht84nRlcfY1FyORJP+1JaFH4oWTWsRNeOZIiI3BhxR8
 EtFP9E8r2Esxi/FmZb/47m7kYCEH+XsrzQvBQNLVCH899QX2Hn0kAY70ndq2ZiQl
 n+zLAe7FBFwKzUVmlgWuhjrWMmK+1TthK/XQuOtxg13dHmX+vE/j+A+dOqRWSfHY
 ktNcWaf6m4+TWKVeVTe4E1cnSuwTQTm4VQKd9zaeQxiZYyYJhCQjXuEZg3vDmDbq
 F6D3MpTaJHRRWp0rEurxnSBlmQPCBE2IxEBdSrjd/WJ6T9e1oYwWiSJSS7bGCgGr
 dd/XLsOY7Um5n4ooIFEZc1de6VO6/VTKjmxnBMgU+Sa1REbLpD438IX/6CjzG5qM
 l5Ulke/c6/a/faeVCEpZpD8JuvNOzo9RISDPrNg1KKAL+OSU+9tgmVjIFPhDDB0w
 zNTqT7YJIhxlJxnUGWDk8YNsTjT3OzyquY9UT1tBTBqC0k13J2i2ev30toUez7xj
 2aV+9qMpunbLtwYhXNun1hBFiYrCxpX7I8ha0hXiXL0CywVOPTI=
 =CnVn
 -----END PGP SIGNATURE-----

Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 updates from Catalin Marinas:
 "The biggest changes are MPAM enablement in drivers/resctrl and new PMU
  support under drivers/perf.

  On the core side, FEAT_LSUI lets futex atomic operations with EL0
  permissions, avoiding PAN toggling.

  The rest is mostly TLB invalidation refactoring, further generic entry
  work, sysreg updates and a few fixes.

  Core features:

   - Add support for FEAT_LSUI, allowing futex atomic operations without
     toggling Privileged Access Never (PAN)

   - Further refactor the arm64 exception handling code towards the
     generic entry infrastructure

   - Optimise __READ_ONCE() with CONFIG_LTO=y and allow alias analysis
     through it

  Memory management:

   - Refactor the arm64 TLB invalidation API and implementation for
     better control over barrier placement and level-hinted invalidation

   - Enable batched TLB flushes during memory hot-unplug

   - Fix rodata=full block mapping support for realm guests (when
     BBML2_NOABORT is available)

  Perf and PMU:

   - Add support for a whole bunch of system PMUs featured in NVIDIA's
     Tegra410 SoC (cspmu extensions for the fabric and PCIe, new drivers
     for CPU/C2C memory latency PMUs)

   - Clean up iomem resource handling in the Arm CMN driver

   - Fix signedness handling of AA64DFR0.{PMUVer,PerfMon}

  MPAM (Memory Partitioning And Monitoring):

   - Add architecture context-switch and hiding of the feature from KVM

   - Add interface to allow MPAM to be exposed to user-space using
     resctrl

   - Add errata workaround for some existing platforms

   - Add documentation for using MPAM and what shape of platforms can
     use resctrl

  Miscellaneous:

   - Check DAIF (and PMR, where relevant) at task-switch time

   - Skip TFSR_EL1 checks and barriers in synchronous MTE tag check mode
     (only relevant to asynchronous or asymmetric tag check modes)

   - Remove a duplicate allocation in the kexec code

   - Remove redundant save/restore of SCS SP on entry to/from EL0

   - Generate the KERNEL_HWCAP_ definitions from the arm64 hwcap
     descriptions

   - Add kselftest coverage for cmpbr_sigill()

   - Update sysreg definitions"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (109 commits)
  arm64: rsi: use linear-map alias for realm config buffer
  arm64: Kconfig: fix duplicate word in CMDLINE help text
  arm64: mte: Skip TFSR_EL1 checks and barriers in synchronous tag check mode
  arm64/sysreg: Update ID_AA64SMFR0_EL1 description to DDI0601 2025-12
  arm64/sysreg: Update ID_AA64ZFR0_EL1 description to DDI0601 2025-12
  arm64/sysreg: Update ID_AA64FPFR0_EL1 description to DDI0601 2025-12
  arm64/sysreg: Update ID_AA64ISAR2_EL1 description to DDI0601 2025-12
  arm64/sysreg: Update ID_AA64ISAR0_EL1 description to DDI0601 2025-12
  arm64/hwcap: Generate the KERNEL_HWCAP_ definitions for the hwcaps
  arm64: kexec: Remove duplicate allocation for trans_pgd
  ACPI: AGDI: fix missing newline in error message
  arm64: Check DAIF (and PMR) at task-switch time
  arm64: entry: Use split preemption logic
  arm64: entry: Use irqentry_{enter_from,exit_to}_kernel_mode()
  arm64: entry: Consistently prefix arm64-specific wrappers
  arm64: entry: Don't preempt with SError or Debug masked
  entry: Split preemption from irqentry_exit_to_kernel_mode()
  entry: Split kernel mode logic from irqentry_{enter,exit}()
  entry: Move irqentry_enter() prototype later
  entry: Remove local_irq_{enable,disable}_exit_to_user()
  ...
2026-04-14 16:48:56 -07:00
..
amlogic perf/amlogic: Replace smp_processor_id() with raw_smp_processor_id() in meson_ddr_pmu_create() 2025-05-09 12:16:31 +01:00
arm_cspmu arm64 updates for 7.1: 2026-04-14 16:48:56 -07:00
hisilicon drivers/perf: hisi: Add tt_core_deprecated for compatibility 2025-09-25 13:51:59 +01:00
Kconfig perf: add NVIDIA Tegra410 C2C PMU 2026-03-24 12:37:33 +00:00
Makefile perf: add NVIDIA Tegra410 C2C PMU 2026-03-24 12:37:33 +00:00
alibaba_uncore_drw_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
apple_m1_cpu_pmu.c perf/apple_m1: Remove driver-specific throttle support 2025-05-21 13:57:44 +02:00
arm-cci.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00
arm-ccn.c drivers: perf: use us_to_ktime() where appropriate 2025-09-18 13:48:20 +01:00
arm-cmn.c perf/arm-cmn: Fix resource_size_t printk specifier in arm_cmn_init_dtc() 2026-03-26 15:25:21 +00:00
arm-ni.c perf/arm-ni: Fix and optimise register offset calculation 2025-11-07 13:42:46 +00: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 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
arm_dsu_pmu.c perf/arm_dsu: Allow standard cycles events 2026-01-06 21:27:40 +00:00
arm_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
arm_pmu_acpi.c perf: arm_pmu: Request specific affinities for per CPU NMIs/interrupts 2025-10-27 17:16:35 +01: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_pmuv3.c arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
arm_smmuv3_pmu.c perf/arm-smmuv3: Fix lockdep assert in ->event_init() 2024-11-25 18:52:46 +00:00
arm_spe_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08: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
cxl_pmu.c perf/cxlpmu: Replace IRQF_ONESHOT with IRQF_NO_THREAD 2026-01-28 13:06:03 +00:00
dwc_pcie_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fsl_imx8_ddr_perf.c perf/imx_ddr: Add support for PMU in DB (system interconnects) 2025-11-24 15:39:05 +00:00
fsl_imx9_ddr_perf.c perf: imx_perf: add support for i.MX94 platform 2025-09-18 13:45:04 +01:00
fujitsu_uncore_pmu.c perf: Fujitsu: Add the Uncore PMU driver 2025-09-22 13:05:11 +01:00
marvell_cn10k_ddr_pmu.c drivers: perf: Switch to use hrtimer_setup() 2025-02-18 11:19:04 +01:00
marvell_cn10k_tad_pmu.c perf/marvell: Odyssey LLC-TAD performance monitor support 2024-12-09 15:57:49 +00:00
marvell_pem_pmu.c perf/marvell: Marvell PEM performance monitor support 2024-10-28 17:35:35 +00:00
nvidia_t410_c2c_pmu.c perf: add NVIDIA Tegra410 C2C PMU 2026-03-24 12:37:33 +00:00
nvidia_t410_cmem_latency_pmu.c perf: add NVIDIA Tegra410 CPU Memory Latency PMU 2026-03-24 12:37:32 +00:00
qcom_l2_pmu.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00
qcom_l3_pmu.c
riscv_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
riscv_pmu_legacy.c drivers/perf: riscv: Align errno for unsupported perf event 2024-10-01 02:47:39 -07:00
riscv_pmu_sbi.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
starfive_starlink_pmu.c drivers: perf: use bitmap_empty() where appropriate 2026-01-05 20:39:40 +00:00
thunderx2_pmu.c drivers: perf: Switch to use hrtimer_setup() 2025-02-18 11:19:04 +01:00
xgene_pmu.c perf: Switch back to struct platform_driver::remove() 2024-11-06 14:16:20 +00:00