Performance events changes for v7.0
Linus,
Please pull the latest perf/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-2026-02-09
for you to fetch changes up to 7db06e329af30dcb170a6782c1714217ad65033d:
Performance events changes for v7.0:
x86 PMU driver updates:
- Add support for the core PMU for Intel Diamond Rapids (DMR) CPUs. Compared to previous iterations of the Intel PMU code, there's been a lot of changes, which center around three main areas:
- Introduce the OFF-MODULE RESPONSE (OMR) facility to replace the Off-Core Response (OCR) facility
- New PEBS data source encoding layout
- Support the new "RDPMC user disable" feature
(Dapeng Mi)
- Likewise, a large series adds uncore PMU support for Intel Diamond Rapids (DMR) CPUs, which center around these four main areas:
- DMR may have two Integrated I/O and Memory Hub (IMH) dies, separate from the compute tile (CBB) dies. Each CBB and each IMH die has its own discovery domain.
- Unlike prior CPUs that retrieve the global discovery table portal exclusively via PCI or MSR, DMR uses PCI for IMH PMON discovery and MSR for CBB PMON discovery.
- DMR introduces several new PMON types: SCA, HAMVF, D2D_ULA, UBR, PCIE4, CRS, CPC, ITC, OTC, CMS, and PCIE6.
- IIO free-running counters in DMR are MMIO-based, unlike SPR.
(Zide Chen)
- Also add support for Add missing PMON units for Intel Panther Lake, and support Nova Lake (NVL), which largely maps to Panther Lake. (Zide Chen)
- KVM integration: Add support for mediated vPMUs (by Kan Liang and Sean Christopherson, with fixes and cleanups by Peter Zijlstra, Sandipan Das and Mingwei Zhang)
- Add Intel cstate driver to support for Wildcat Lake (WCL) CPUs, which are a low-power variant of Panther Lake. (Zide Chen)
- Add core, cstate and MSR PMU support for the Airmont NP Intel CPU (aka MaxLinear Lightning Mountain), which maps to the existing Airmont code. (Martin Schiller)
Performance enhancements:
- core: Speed up kexec shutdown by avoiding unnecessary cross CPU calls. (Jan H. Schönherr)
- core: Fix slow perf_event_task_exit() with LBR callstacks (Namhyung Kim)
User-space stack unwinding support:
- Various cleanups and refactorings in preparation to generalize the unwinding code for other architectures. (Jens Remus)
Uprobes updates:
- Transition from kmap_atomic to kmap_local_page (Keke Ming)
- Fix incorrect lockdep condition in filter_chain() (Breno Leitao)
- Fix XOL allocation failure for 32-bit tasks (Oleg Nesterov)
Misc fixes and cleanups:
- s390: Remove kvm_types.h from Kbuild (Randy Dunlap)
- x86/intel/uncore: Convert comma to semicolon (Chen Ni)
- x86/uncore: Clean up const mismatch (Greg Kroah-Hartman)
- x86/ibs: Fix typo in dc_l2tlb_miss comment (Xiang-Bin Shi)
Thanks,
Ingo
------------------>
Breno Leitao (1):
uprobes: Fix incorrect lockdep condition in filter_chain()
Chen Ni (1):
perf/x86/intel/uncore: Convert comma to semicolon
Dapeng Mi (7):
perf/x86/intel: Support the 4 new OMR MSRs introduced in DMR and NVL perf/x86/intel: Add support for PEBS memory auxiliary info field in DMR perf/x86/intel: Add core PMU support for DMR perf/x86/intel: Add support for PEBS memory auxiliary info field in NVL perf/x86/intel: Add core PMU support for Novalake
perf/x86: Use macros to replace magic numbers in attr_rdpmc perf/x86/intel: Add support for rdpmc user disable feature
Greg Kroah-Hartman (1):
perf/x86/uncore: clean up const mismatch
Jan H. Schönherr (1):
perf/core: Speed up kexec shutdown by avoiding unnecessary cross CPU calls
Jens Remus (4):
unwind_user: Enhance comments on get CFA, FP, and RA unwind_user/fp: Use dummies instead of ifdef x86/unwind_user: Guard unwind_user_word_size() by UNWIND_USER x86/unwind_user: Simplify unwind_user_word_size()
Kan Liang (7):
perf: Skip pmu_ctx based on event_type
perf: Add generic exclude_guest support
perf: Add APIs to create/release mediated guest vPMUs
perf: Clean up perf ctx time
perf: Add a EVENT_GUEST flag
perf: Add APIs to load/put guest mediated PMU context perf/x86/intel: Support PERF_PMU_CAP_MEDIATED_VPMU
Keke Ming (5):
riscv/uprobes: use kmap_local_page() in arch_uprobe_copy_ixol() arm64/uprobes: use kmap_local_page() in arch_uprobe_copy_ixol() mips/uprobes: use kmap_local_page() in arch_uprobe_copy_ixol() arm/uprobes: use kmap_local_page() in arch_uprobe_copy_ixol()
uprobes: use kmap_local_page() for temporary page mappings
Martin Schiller (3):
perf/x86/msr: Add Airmont NP
perf/x86/intel: Add Airmont NP
perf/x86/cstate: Add Airmont NP
Mingwei Zhang (1):
perf/x86/core: Plumb mediated PMU capability from x86_pmu to x86_pmu_cap
Namhyung Kim (1):
perf/core: Fix slow perf_event_task_exit() with LBR callstacks
Oleg Nesterov (1):
x86/uprobes: Fix XOL allocation failure for 32-bit tasks
Peter Zijlstra (2):
perf: Clean up mediated vPMU accounting
perf: Use EXPORT_SYMBOL_FOR_KVM() for the mediated APIs
Randy Dunlap (1):
s390: remove kvm_types.h from Kbuild
Sandipan Das (2):
perf/x86/core: Do not set bit width for unavailable counters perf/x86/amd: Support PERF_PMU_CAP_MEDIATED_VPMU for AMD host
Sean Christopherson (3):
perf: Move security_perf_event_free() call to __free_event() perf/x86/core: Register a new vector for handling mediated guest PMIs perf/x86/core: Add APIs to switch to/from mediated PMI vector (for KVM)
Xiang-Bin Shi (1):
x86/ibs: Fix typo in dc_l2tlb_miss comment
Zide Chen (16):
perf/x86/intel/cstate: Add Wildcat Lake support perf/x86/intel/cstate: Add Nova Lake support perf/x86/intel/cstate: Add Diamond Rapids support perf/x86/intel/uncore: Move uncore discovery init struct to header perf/x86/intel/uncore: Support per-platform discovery base devices perf/x86/intel/uncore: Remove has_generic_discovery_table() perf/x86/intel/uncore: Add IMH PMON support for Diamond Rapids perf/x86/intel/uncore: Add CBB PMON support for Diamond Rapids perf/x86/intel/uncore: Add domain global init callback perf/x86/intel/uncore: Add freerunning event descriptor helper macro perf/x86/intel/uncore: Support IIO free-running counters on DMR perf/x86/intel/uncore: Support uncore constraint ranges perf/x86/intel/uncore: Update DMR uncore constraints preliminarily perf pmu: Relax uncore wildcard matching to allow numeric suffix perf/x86/intel/uncore: Add missing PMON units for Panther Lake perf/x86/intel/uncore: Add Nova Lake support
.../testing/sysfs-bus-event_source-devices-rdpmc | 44 ++ arch/arm/probes/uprobes/core.c | 4 +- arch/arm64/kernel/probes/uprobes.c | 4 +- arch/mips/kernel/uprobes.c | 4 +- arch/riscv/kernel/probes/uprobes.c | 4 +- arch/s390/include/asm/Kbuild | 1 - arch/x86/entry/entry_fred.c | 1 + arch/x86/events/amd/core.c | 2 + arch/x86/events/core.c | 66 +- arch/x86/events/intel/core.c | 370 ++++++++++- arch/x86/events/intel/cstate.c | 33 +- arch/x86/events/intel/ds.c | 261 ++++++++ arch/x86/events/intel/p6.c | 2 +- arch/x86/events/intel/uncore.c | 139 +++-- arch/x86/events/intel/uncore.h | 26 + arch/x86/events/intel/uncore_discovery.c | 84 ++- arch/x86/events/intel/uncore_discovery.h | 8 +- arch/x86/events/intel/uncore_snb.c | 85 +++ arch/x86/events/intel/uncore_snbep.c | 690 ++++++++++++++------- arch/x86/events/msr.c | 1 + arch/x86/events/perf_event.h | 26 + arch/x86/include/asm/amd/ibs.h | 2 +- arch/x86/include/asm/hardirq.h | 3 + arch/x86/include/asm/idtentry.h | 6 + arch/x86/include/asm/irq_vectors.h | 4 +- arch/x86/include/asm/msr-index.h | 5 + arch/x86/include/asm/perf_event.h | 14 +- arch/x86/include/asm/unwind_user.h | 27 +- arch/x86/kernel/idt.c | 3 + arch/x86/kernel/irq.c | 19 + arch/x86/kernel/uprobes.c | 24 + arch/x86/kvm/Kconfig | 1 + include/asm-generic/Kbuild | 1 + include/linux/perf_event.h | 35 +- include/linux/unwind_user.h | 18 +- include/linux/uprobes.h | 1 + include/uapi/linux/perf_event.h | 27 +- init/Kconfig | 4 + kernel/events/core.c | 544 ++++++++++++---- kernel/events/uprobes.c | 24 +- kernel/unwind/user.c | 12 +- tools/include/uapi/linux/perf_event.h | 27 +- .../beauty/arch/x86/include/asm/irq_vectors.h | 3 +- tools/perf/util/pmu.c | 14 +- virt/kvm/kvm_main.c | 3 + 45 files changed, 2154 insertions(+), 522 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-rdpmc
The pull request you sent on Mon, 9 Feb 2026 08:00:09 +0100:
The pull request you sent on Mon, 9 Feb 2026 08:00:09 +0100:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitperf-core-2026-02-09
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/4d84667627c4ff70826b349c449bbaf63b9af4e5
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html