• Linus Torvalds's avatar
    Merge tag 'perf-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3871d93b
    Linus Torvalds authored
    Pull perf events updates from Ingo Molnar:
     "PMU driver updates:
    
       - Add AMD Last Branch Record Extension Version 2 (LbrExtV2) feature
         support for Zen 4 processors.
    
       - Extend the perf ABI to provide branch speculation information, if
         available, and use this on CPUs that have it (eg. LbrExtV2).
    
       - Improve Intel PEBS TSC timestamp handling & integration.
    
       - Add Intel Raptor Lake S CPU support.
    
       - Add 'perf mem' and 'perf c2c' memory profiling support on AMD CPUs
         by utilizing IBS tagged load/store samples.
    
       - Clean up & optimize various x86 PMU details.
    
      HW breakpoints:
    
       - Big rework to optimize the code for systems with hundreds of CPUs
         and thousands of breakpoints:
    
          - Replace the nr_bp_mutex global mutex with the bp_cpuinfo_sem
            per-CPU rwsem that is read-locked during most of the key
            operations.
    
          - Improve the O(#cpus * #tasks) logic in toggle_bp_slot() and
            fetch_bp_busy_slots().
    
          - Apply micro-optimizations & cleanups.
    
      - Misc cleanups & enhancements"
    
    * tag 'perf-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
      perf/hw_breakpoint: Annotate tsk->perf_event_mutex vs ctx->mutex
      perf: Fix pmu_filter_match()
      perf: Fix lockdep_assert_event_ctx()
      perf/x86/amd/lbr: Adjust LBR regardless of filtering
      perf/x86/utils: Fix uninitialized var in get_branch_type()
      perf/uapi: Define PERF_MEM_SNOOPX_PEER in kernel header file
      perf/x86/amd: Support PERF_SAMPLE_PHY_ADDR
      perf/x86/amd: Support PERF_SAMPLE_ADDR
      perf/x86/amd: Support PERF_SAMPLE_{WEIGHT|WEIGHT_STRUCT}
      perf/x86/amd: Support PERF_SAMPLE_DATA_SRC
      perf/x86/amd: Add IBS OP_DATA2 DataSrc bit definitions
      perf/mem: Introduce PERF_MEM_LVLNUM_{EXTN_MEM|IO}
      perf/x86/uncore: Add new Raptor Lake S support
      perf/x86/cstate: Add new Raptor Lake S support
      perf/x86/msr: Add new Raptor Lake S support
      perf/x86: Add new Raptor Lake S support
      bpf: Check flags for branch stack in bpf_read_branch_records helper
      perf, hw_breakpoint: Fix use-after-free if perf_event_open() fails
      perf: Use sample_flags for raw_data
      perf: Use sample_flags for addr
      ...
    3871d93b
core.c 190 KB