Performance events changes for v6.14
Linus,
Please pull the latest perf/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-2025-01-20
# HEAD: b709eb872e19a19607bbb6d2975bc264d59735cf perf: map pages in advance
Performance events changes for v6.14:
- Seqlock optimizations that arose in a perf context and were merged into the perf tree:
- seqlock: Add raw_seqcount_try_begin (Suren Baghdasaryan)
- mm: Convert mm_lock_seq to a proper seqcount ((Suren Baghdasaryan)
- mm: Introduce mmap_lock_speculate_{try_begin|retry} (Suren Baghdasaryan)
- mm/gup: Use raw_seqcount_try_begin() (Peter Zijlstra)
- Core perf enhancements:
- Reduce 'struct page' footprint of perf by mapping pages
in advance (Lorenzo Stoakes)
- Save raw sample data conditionally based on sample type (Yabin Cui)
- Reduce sampling overhead by checking sample_type in perf_sample_save_callchain() and perf_sample_save_brstack() (Yabin Cui)
- Export perf_exclude_event() (Namhyung Kim)
- Uprobes scalability enhancements: (Andrii Nakryiko)
- Simplify find_active_uprobe_rcu() VMA checks
- Add speculative lockless VMA-to-inode-to-uprobe resolution
- Simplify session consumer tracking
- Decouple return_instance list traversal and freeing
- Ensure return_instance is detached from the list before freeing
- Reuse return_instances between multiple uretprobes within task
- Guard against kmemdup() failing in dup_return_instance()
- AMD core PMU driver enhancements:
- Relax privilege filter restriction on AMD IBS (Namhyung Kim)
- AMD RAPL energy counters support: (Dhananjay Ugwekar)
- Introduce topology_logical_core_id() (K Prateek Nayak)
- Remove the unused get_rapl_pmu_cpumask() function
- Remove the cpu_to_rapl_pmu() function
- Rename rapl_pmu variables
- Make rapl_model struct global
- Add arguments to the init and cleanup functions
- Modify the generic variable names to *_pkg*
- Remove the global variable rapl_msrs
- Move the cntr_mask to rapl_pmus struct
- Add core energy counter support for AMD CPUs
- Intel core PMU driver enhancements:
- Support RDPMC 'metrics clear mode' feature (Kan Liang)
- Clarify adaptive PEBS processing (Kan Liang)
- Factor out functions for PEBS records processing (Kan Liang)
- Simplify the PEBS records processing for adaptive PEBS (Kan Liang)
- Intel uncore driver enhancements: (Kan Liang)
- Convert buggy pmu->func_id use to pmu->registered
- Support more units on Granite Rapids
Thanks,
Ingo
------------------>
Andrii Nakryiko (7):
uprobes: simplify find_active_uprobe_rcu() VMA checks
uprobes: add speculative lockless VMA-to-inode-to-uprobe resolution
uprobes: Simplify session consumer tracking
uprobes: Decouple return_instance list traversal and freeing
uprobes: Ensure return_instance is detached from the list before freeing
uprobes: Reuse return_instances between multiple uretprobes within task
uprobes: Guard against kmemdup() failing in dup_return_instance()
Dhananjay Ugwekar (9):
perf/x86/rapl: Remove the unused get_rapl_pmu_cpumask() function perf/x86/rapl: Remove the cpu_to_rapl_pmu() function perf/x86/rapl: Rename rapl_pmu variables perf/x86/rapl: Make rapl_model struct global perf/x86/rapl: Add arguments to the init and cleanup functions perf/x86/rapl: Modify the generic variable names to *_pkg* perf/x86/rapl: Remove the global variable rapl_msrs perf/x86/rapl: Move the cntr_mask to rapl_pmus struct perf/x86/rapl: Add core energy counter support for AMD CPUs
K Prateek Nayak (1):
x86/topology: Introduce topology_logical_core_id()
Kan Liang (6):
perf/x86/intel/ds: Clarify adaptive PEBS processing perf/x86/intel/ds: Factor out functions for PEBS records processing perf/x86/intel/ds: Simplify the PEBS records processing for adaptive PEBS perf/x86/intel: Support RDPMC metrics clear mode perf/x86/intel/uncore: Clean up func_id perf/x86/intel/uncore: Support more units on Granite Rapids
Lorenzo Stoakes (1):
perf: map pages in advance
Namhyung Kim (2):
perf/core: Export perf_exclude_event() perf/x86: Relax privilege filter restriction on AMD IBS
Peter Zijlstra (1):
mm/gup: Use raw_seqcount_try_begin()
Suren Baghdasaryan (3):
seqlock: add raw_seqcount_try_begin
mm: convert mm_lock_seq to a proper seqcount
mm: introduce mmap_lock_speculate_{try_begin|retry}
Yabin Cui (3):
perf/core: Save raw sample data conditionally based on sample type perf/core: Check sample_type in perf_sample_save_callchain perf/core: Check sample_type in perf_sample_save_brstack
Documentation/arch/x86/topology.rst | 4 + arch/s390/kernel/perf_cpum_cf.c | 2 +- arch/s390/kernel/perf_cpum_sf.c | 6 +- arch/s390/kernel/perf_pai_crypto.c | 2 +- arch/s390/kernel/perf_pai_ext.c | 2 +- arch/x86/events/amd/core.c | 3 +- arch/x86/events/amd/ibs.c | 64 ++++-- arch/x86/events/core.c | 3 +- arch/x86/events/intel/core.c | 20 +- arch/x86/events/intel/ds.c | 198 +++++++++------- arch/x86/events/intel/uncore.c | 20 +- arch/x86/events/intel/uncore.h | 1 - arch/x86/events/intel/uncore_snb.c | 2 +- arch/x86/events/intel/uncore_snbep.c | 48 ++-- arch/x86/events/perf_event.h | 1 + arch/x86/events/rapl.c | 415 ++++++++++++++++++++++------------ arch/x86/include/asm/perf_event.h | 20 +- arch/x86/include/asm/processor.h | 1 + arch/x86/include/asm/topology.h | 1 + arch/x86/kernel/cpu/debugfs.c | 1 + arch/x86/kernel/cpu/topology_common.c | 1 + include/linux/mm.h | 12 +- include/linux/mm_types.h | 7 +- include/linux/mmap_lock.h | 84 +++++-- include/linux/perf_event.h | 32 ++- include/linux/seqlock.h | 22 ++ include/linux/uprobes.h | 16 +- kernel/events/core.c | 156 ++++++++----- kernel/events/ring_buffer.c | 19 +- kernel/events/uprobes.c | 225 +++++++++++++----- kernel/fork.c | 5 +- kernel/trace/bpf_trace.c | 11 +- mm/gup.c | 3 +- mm/init-mm.c | 2 +- tools/testing/vma/vma.c | 4 +- tools/testing/vma/vma_internal.h | 4 +- 36 files changed, 938 insertions(+), 479 deletions(-)
The pull request you sent on Mon, 20 Jan 2025 11:33:27 +0100:
The pull request you sent on Mon, 20 Jan 2025 11:33:27 +0100:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitperf-core-2025-01-20
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6c4aa896ebee5edf2b35a9d071e5a468797f96d8
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html