linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Namhyung Kim <namhyung@kernel.org>,
	linux-perf-users@vger.kernel.org, Borislav Petkov <bp@alien8.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] perf event updates for v6.1
Date: Fri, 7 Oct 2022 10:00:36 +0200	[thread overview]
Message-ID: <Yz/cpNTSacRMh1FK@gmail.com> (raw)

Linus,

Please pull the latest perf/core git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-2022-10-07

   # HEAD: 82aad7ff7ac25c8cf09d491ae23b9823f1901486 perf/hw_breakpoint: Annotate tsk->perf_event_mutex vs ctx->mutex

Perf events updates for v6.1:

 - 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.

  - NOTE: When merged with your latest tree, there will be a new 
          conflict in lib/Kconfig.debug - it's just a context conflict due 
          to the HW_BREAKPOINT_KUNIT_TEST addition from the perf tree 
          clashing with the recent addition of FORTIFY_KUNIT_TEST:

            upstream:  875bfd5276f3 ("fortify: Add KUnit test for FORTIFY_SOURCE internals")
            perf tree: 724c299c6a0e ("perf/hw_breakpoint: Add KUnit test for constraints accounting")

 Thanks,

	Ingo

------------------>
Anshuman Khandual (9):
      perf: Add system error and not in transaction branch types
      perf: Extend branch type classification
      perf: Capture branch privilege information
      perf: Add PERF_BR_NEW_ARCH_[N] map for BRBE on arm64 platform
      perf: Consolidate branch sample filter helpers
      perf/core: Expand PERF_EVENT_FLAG_ARCH
      perf/core: Assert PERF_EVENT_FLAG_ARCH does not overlap with generic flags
      arm64/perf: Assert all platform event flags are within PERF_EVENT_FLAG_ARCH
      x86/perf: Assert all platform event flags are within PERF_EVENT_FLAG_ARCH

Jiri Olsa (1):
      bpf: Check flags for branch stack in bpf_read_branch_records helper

Jules Irenge (1):
      perf/core: Convert snprintf() to scnprintf()

Kan Liang (11):
      perf: Add sample_flags to indicate the PMU-filled sample data
      perf/x86/intel/pebs: Fix PEBS timestamps overwritten
      perf: Use sample_flags for branch stack
      perf: Use sample_flags for weight
      perf: Use sample_flags for data_src
      perf: Use sample_flags for txn
      perf/x86/intel: Optimize FIXED_CTR_CTRL access
      perf/x86: Add new Raptor Lake S support
      perf/x86/msr: Add new Raptor Lake S support
      perf/x86/cstate: Add new Raptor Lake S support
      perf/x86/uncore: Add new Raptor Lake S support

Marco Elver (15):
      perf/hw_breakpoint: Add KUnit test for constraints accounting
      perf/hw_breakpoint: Provide hw_breakpoint_is_used() and use in test
      perf/hw_breakpoint: Clean up headers
      perf/hw_breakpoint: Optimize list of per-task breakpoints
      perf/hw_breakpoint: Mark data __ro_after_init
      perf/hw_breakpoint: Optimize constant number of breakpoint slots
      perf/hw_breakpoint: Make hw_breakpoint_weight() inlinable
      perf/hw_breakpoint: Remove useless code related to flexible breakpoints
      powerpc/hw_breakpoint: Avoid relying on caller synchronization
      locking/percpu-rwsem: Add percpu_is_write_locked() and percpu_is_read_locked()
      perf/hw_breakpoint: Reduce contention with large number of tasks
      perf/hw_breakpoint: Introduce bp_slots_histogram
      perf/hw_breakpoint: Optimize max_bp_pinned_slots() for CPU-independent task targets
      perf/hw_breakpoint: Optimize toggle_bp_slot() for CPU-independent task targets
      perf, hw_breakpoint: Fix use-after-free if perf_event_open() fails

Namhyung Kim (5):
      perf: Use sample_flags for callchain
      perf/bpf: Always use perf callchains if exist
      perf: Kill __PERF_SAMPLE_CALLCHAIN_EARLY
      perf: Use sample_flags for addr
      perf: Use sample_flags for raw_data

Peter Zijlstra (11):
      perf: Add a few assertions
      perf/x86: Add two more x86_pmu methods
      perf/x86/intel: Move the topdown stuff into the intel driver
      perf/x86: Change x86_pmu::limit_period signature
      perf/x86: Add a x86_pmu::limit_period static_call
      perf/x86/intel: Remove x86_pmu::set_topdown_event_period
      perf/x86/intel: Remove x86_pmu::update_topdown_event
      perf/x86/p4: Remove perfctr_second_write quirk
      perf: Fix lockdep_assert_event_ctx()
      perf: Fix pmu_filter_match()
      perf/hw_breakpoint: Annotate tsk->perf_event_mutex vs ctx->mutex

Ravi Bangoria (7):
      perf/mem: Introduce PERF_MEM_LVLNUM_{EXTN_MEM|IO}
      perf/x86/amd: Add IBS OP_DATA2 DataSrc bit definitions
      perf/x86/amd: Support PERF_SAMPLE_DATA_SRC
      perf/x86/amd: Support PERF_SAMPLE_{WEIGHT|WEIGHT_STRUCT}
      perf/x86/amd: Support PERF_SAMPLE_ADDR
      perf/x86/amd: Support PERF_SAMPLE_PHY_ADDR
      perf/uapi: Define PERF_MEM_SNOOPX_PEER in kernel header file

Sandipan Das (13):
      perf/x86/amd/brs: Move feature-specific functions
      perf/x86/amd/core: Refactor branch attributes
      perf/x86/amd/core: Add generic branch record interfaces
      x86/cpufeatures: Add LbrExtV2 feature bit
      perf/x86/amd/lbr: Detect LbrExtV2 support
      perf/x86/amd/lbr: Add LbrExtV2 branch record support
      perf/x86/amd/lbr: Add LbrExtV2 hardware branch filter support
      perf/x86: Move branch classifier
      perf/x86/amd/lbr: Add LbrExtV2 software branch filter support
      perf/x86: Make branch classifier fusion-aware
      perf/x86/amd/lbr: Use fusion-aware branch classifier
      perf/core: Add speculation info to branch entries
      perf/x86/amd/lbr: Add LbrExtV2 branch speculation info support

Stephane Eranian (2):
      perf/x86/utils: Fix uninitialized var in get_branch_type()
      perf/x86/amd/lbr: Adjust LBR regardless of filtering


 arch/powerpc/kernel/hw_breakpoint.c  |  53 ++-
 arch/powerpc/perf/core-book3s.c      |  10 +-
 arch/s390/kernel/perf_cpum_cf.c      |   1 +
 arch/s390/kernel/perf_pai_crypto.c   |   1 +
 arch/sh/include/asm/hw_breakpoint.h  |   5 +-
 arch/x86/events/Makefile             |   2 +-
 arch/x86/events/amd/Makefile         |   2 +-
 arch/x86/events/amd/brs.c            |  69 +++-
 arch/x86/events/amd/core.c           | 210 ++++++------
 arch/x86/events/amd/ibs.c            | 360 ++++++++++++++++++-
 arch/x86/events/amd/lbr.c            | 439 ++++++++++++++++++++++++
 arch/x86/events/core.c               |  61 ++--
 arch/x86/events/intel/core.c         | 101 ++++--
 arch/x86/events/intel/cstate.c       |   1 +
 arch/x86/events/intel/ds.c           |  55 ++-
 arch/x86/events/intel/lbr.c          | 273 ---------------
 arch/x86/events/intel/p4.c           |  37 +-
 arch/x86/events/intel/uncore.c       |   1 +
 arch/x86/events/msr.c                |   1 +
 arch/x86/events/perf_event.h         | 130 +++++--
 arch/x86/events/perf_event_flags.h   |  22 ++
 arch/x86/events/utils.c              | 251 ++++++++++++++
 arch/x86/include/asm/amd-ibs.h       |  16 +
 arch/x86/include/asm/cpufeatures.h   |   2 +-
 arch/x86/include/asm/hw_breakpoint.h |   5 +-
 arch/x86/include/asm/msr-index.h     |   5 +
 arch/x86/include/asm/perf_event.h    |   3 +-
 arch/x86/kernel/cpu/scattered.c      |   1 +
 drivers/perf/arm_spe_pmu.c           |   4 +-
 include/linux/hw_breakpoint.h        |   4 +-
 include/linux/percpu-rwsem.h         |   6 +
 include/linux/perf/arm_pmu.h         |   9 +-
 include/linux/perf_event.h           |  77 ++++-
 include/uapi/linux/perf_event.h      |  57 ++-
 kernel/bpf/stackmap.c                |   4 +-
 kernel/events/Makefile               |   1 +
 kernel/events/core.c                 |  88 +++--
 kernel/events/hw_breakpoint.c        | 648 ++++++++++++++++++++++++++---------
 kernel/events/hw_breakpoint_test.c   | 333 ++++++++++++++++++
 kernel/locking/percpu-rwsem.c        |   6 +
 kernel/trace/bpf_trace.c             |   3 +
 lib/Kconfig.debug                    |  10 +
 42 files changed, 2613 insertions(+), 754 deletions(-)
 create mode 100644 arch/x86/events/amd/lbr.c
 create mode 100644 arch/x86/events/perf_event_flags.h
 create mode 100644 arch/x86/events/utils.c
 create mode 100644 kernel/events/hw_breakpoint_test.c

             reply	other threads:[~2022-10-07  8:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-07  8:00 Ingo Molnar [this message]
2022-10-10 17:22 ` [GIT PULL] perf event updates for v6.1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yz/cpNTSacRMh1FK@gmail.com \
    --to=mingo@kernel.org \
    --cc=acme@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).