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
next 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.