[GIT PULL] Performance events changes for v6.11
From: Ingo Molnar
Date: Tue Jul 16 2024 - 11:26:13 EST
Linus,
Please pull the latest perf/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-2024-07-16
# HEAD: fa0c1c9d283b37fdb7fc1dcccbb88fc8f48a4aa4 perf/x86/intel: Add a distinct name for Granite Rapids
Performance events changes for v6.11:
- Intel PT support enhancements & fixes
- Fix leaked SIGTRAP events
- Improve and fix the Intel uncore driver
- Add support for Intel HBM and CXL uncore counters
- Add Intel Lake and Arrow Lake support
- AMD uncore driver fixes
- Make SIGTRAP and __perf_pending_irq() work on RT
- Micro-optimizations
- Misc cleanups and fixes
Thanks,
Ingo
------------------>
Adrian Hunter (6):
perf/x86/intel/pt: Fix a topa_entry base address calculation
perf/x86/intel/pt: Fix pt_topa_entry_for_page() address calculation
perf: Fix perf_aux_size() for greater-than 32-bit size
perf: Prevent passing zero nr_pages to rb_alloc_aux()
perf: Fix default aux_watermark calculation
perf: Make rb_alloc_aux() return an error immediately if nr_pages <= 0
Frederic Weisbecker (4):
task_work: s/task_work_cancel()/task_work_cancel_func()/
task_work: Introduce task_work_cancel() again
perf: Fix event leak upon exit
perf: Fix event leak upon exec and file release
Kan Liang (20):
perf/x86/uncore: Save the unit control address of all units
perf/x86/uncore: Support per PMU cpumask
perf/x86/uncore: Retrieve the unit ID from the unit control RB tree
perf/x86/uncore: Apply the unit control RB tree to MMIO uncore units
perf/x86/uncore: Apply the unit control RB tree to MSR uncore units
perf/x86/uncore: Apply the unit control RB tree to PCI uncore units
perf/x86/uncore: Cleanup unused unit structure
perf/x86/intel/uncore: Support HBM and CXL PMON counters
perf/x86/intel: Support the PEBS event mask
perf/x86: Support counter mask
perf/x86: Add Lunar Lake and Arrow Lake support
perf/x86/intel: Rename model-specific pebs_latency_data functions
perf/x86/intel: Support new data source for Lunar Lake
perf/x86: Add config_mask to represent EVENTSEL bitmask
perf/x86/intel: Support PERFEVTSEL extension
perf/x86/intel: Support Perfmon MSRs aliasing
perf/x86/intel/uncore: Fix the bits of the CHA extended umask for SPR
perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated
perf/x86/intel/ds: Fix non 0 retire latency on Raptorlake
perf/x86/intel: Add a distinct name for Granite Rapids
Marco Cavenati (1):
perf/x86/intel/pt: Fix topa_entry base length
Sandipan Das (2):
perf/x86/amd/uncore: Avoid PMU registration if counters are unavailable
perf/x86/amd/uncore: Fix DF and UMC domain identification
Sebastian Andrzej Siewior (7):
perf: Move irq_work_queue() where the event is prepared.
task_work: Add TWA_NMI_CURRENT as an additional notify mode.
perf: Enqueue SIGTRAP always via task_work.
perf: Shrink the size of the recursion counter.
perf: Move swevent_htable::recursion into task_struct.
perf: Don't disable preemption in perf_pending_task().
perf: Split __perf_pending_irq() out of perf_pending_irq()
Uros Bizjak (1):
perf/x86/amd: Use try_cmpxchg() in events/amd/{un,}core.c
Zhang Rui (3):
perf/x86/intel/cstate: Fix Alderlake/Raptorlake/Meteorlake
perf/x86/intel/cstate: Add Arrowlake support
perf/x86/intel/cstate: Add Lunarlake support
arch/x86/events/amd/core.c | 28 +-
arch/x86/events/amd/uncore.c | 36 ++-
arch/x86/events/core.c | 110 ++++----
arch/x86/events/intel/core.c | 426 ++++++++++++++++++++++++-------
arch/x86/events/intel/cstate.c | 39 ++-
arch/x86/events/intel/ds.c | 180 ++++++++++---
arch/x86/events/intel/knc.c | 2 +-
arch/x86/events/intel/p4.c | 10 +-
arch/x86/events/intel/p6.c | 2 +-
arch/x86/events/intel/pt.c | 4 +-
arch/x86/events/intel/pt.h | 4 +-
arch/x86/events/intel/uncore.c | 95 ++++---
arch/x86/events/intel/uncore.h | 8 +-
arch/x86/events/intel/uncore_discovery.c | 312 ++++++++++++++--------
arch/x86/events/intel/uncore_discovery.h | 22 +-
arch/x86/events/intel/uncore_snbep.c | 134 ++++++++--
arch/x86/events/perf_event.h | 98 ++++++-
arch/x86/events/zhaoxin/core.c | 12 +-
arch/x86/include/asm/intel_ds.h | 1 +
arch/x86/include/asm/msr-index.h | 6 +
arch/x86/include/asm/perf_event.h | 8 +
include/linux/perf_event.h | 11 +-
include/linux/sched.h | 7 +
include/linux/task_work.h | 4 +-
include/uapi/linux/perf_event.h | 6 +-
kernel/events/callchain.c | 2 +-
kernel/events/core.c | 125 +++++----
kernel/events/internal.h | 6 +-
kernel/events/ring_buffer.c | 7 +-
kernel/irq/manage.c | 2 +-
kernel/task_work.c | 58 ++++-
security/keys/keyctl.c | 2 +-
32 files changed, 1258 insertions(+), 509 deletions(-)