[GIT PULL] perf events changes for v5.19

From: Ingo Molnar
Date: Mon May 23 2022 - 12:48:18 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-2022-05-23

# HEAD: bae19fdd7e9e759580ac4693d2df3bc23ab415d7 perf/x86/amd/core: Fix reloading events for SVM

Perf events changes for this cycle were:

Platform PMU changes:
=====================

- x86/intel:
- Add new Intel Alder Lake and Raptor Lake support

- x86/amd:
- AMD Zen4 IBS extensions support
- Add AMD PerfMonV2 support
- Add AMD Fam19h Branch Sampling support

Generic changes:
================

- signal: Deliver SIGTRAP on perf event asynchronously if blocked

Perf instrumentation can be driven via SIGTRAP, but this causes a problem
when SIGTRAP is blocked by a task & terminate the task.

Allow user-space to request these signals asynchronously (after they get
unblocked) & also give the information to the signal handler when this
happens:

" To give user space the ability to clearly distinguish synchronous from
asynchronous signals, introduce siginfo_t::si_perf_flags and
TRAP_PERF_FLAG_ASYNC (opted for flags in case more binary information is
required in future).

The resolution to the problem is then to (a) no longer force the signal
(avoiding the terminations), but (b) tell user space via si_perf_flags
if the signal was synchronous or not, so that such signals can be
handled differently (e.g. let user space decide to ignore or consider
the data imprecise). "

- Unify/standardize the /sys/devices/cpu/events/* output format.

- Misc fixes & cleanups.

Thanks,

Ingo

------------------>
Borislav Petkov (1):
perf/x86/amd: Run AMD BRS code only on supported hw

Kan Liang (5):
perf/x86: Add new Alder Lake and Raptor Lake support
perf/x86/msr: Add new Alder Lake and Raptor Lake support
perf/x86/cstate: Add new Alder Lake and Raptor Lake support
perf/x86/uncore: Clean up uncore_pci_ids[]
perf/x86/uncore: Add new Alder Lake and Raptor Lake support

Marco Elver (1):
signal: Deliver SIGTRAP on perf event asynchronously if blocked

Peter Zijlstra (1):
perf/x86/amd: Fix AMD BRS period adjustment

Ravi Bangoria (6):
perf/amd/ibs: Use interrupt regs ip for stack unwinding
perf/amd/ibs: Cascade pmu init functions' return value
perf/amd/ibs: Use ->is_visible callback for dynamic attributes
perf/amd/ibs: Add support for L3 miss filtering
perf/amd/ibs: Advertise zen4_ibs_extensions as pmu capability attribute
perf/ibs: Fix comment

Sandipan Das (7):
x86/cpufeatures: Add PerfMonV2 feature bit
x86/msr: Add PerfCntrGlobal* registers
perf/x86/amd/core: Detect PerfMonV2 support
perf/x86/amd/core: Detect available counters
perf/x86/amd/core: Add PerfMonV2 counter control
perf/x86/amd/core: Add PerfMonV2 overflow handling
perf/x86/amd/core: Fix reloading events for SVM

Stephane Eranian (9):
perf/core: Add perf_clear_branch_entry_bitfields() helper
x86/cpufeatures: Add AMD Fam19h Branch Sampling feature
perf/x86/amd: Add AMD Fam19h Branch Sampling support
perf/x86/amd: Add branch-brs helper event for Fam19h BRS
perf/x86/amd: Enable branch sampling priv level filtering
perf/x86/amd: Add AMD branch sampling period adjustment
perf/x86/amd: Make Zen3 branch sampling opt-in
ACPI: Add perf low power callback
perf/x86/amd: Add idle hooks for branch sampling

Yang Jihong (1):
perf/x86: Unify format of events sysfs show

Zucheng Zheng (1):
perf/x86/amd: Remove unused variable 'hwc'


arch/arm/kernel/signal.c | 1 +
arch/arm64/kernel/signal.c | 1 +
arch/arm64/kernel/signal32.c | 1 +
arch/m68k/kernel/signal.c | 1 +
arch/sparc/kernel/signal32.c | 1 +
arch/sparc/kernel/signal_64.c | 1 +
arch/x86/events/Kconfig | 8 +
arch/x86/events/amd/Makefile | 1 +
arch/x86/events/amd/brs.c | 367 +++++++++++++++++++++++++
arch/x86/events/amd/core.c | 505 +++++++++++++++++++++++++++++++++--
arch/x86/events/amd/ibs.c | 209 ++++++++++++---
arch/x86/events/core.c | 12 +-
arch/x86/events/intel/core.c | 2 +
arch/x86/events/intel/cstate.c | 2 +
arch/x86/events/intel/lbr.c | 36 ++-
arch/x86/events/intel/uncore.c | 2 +
arch/x86/events/intel/uncore_snb.c | 454 ++++++++++---------------------
arch/x86/events/msr.c | 2 +
arch/x86/events/perf_event.h | 125 +++++++--
arch/x86/include/asm/amd-ibs.h | 2 +-
arch/x86/include/asm/cpufeatures.h | 3 +-
arch/x86/include/asm/msr-index.h | 9 +
arch/x86/include/asm/perf_event.h | 43 +++
arch/x86/kernel/cpu/scattered.c | 1 +
arch/x86/kernel/signal_compat.c | 2 +
drivers/acpi/acpi_pad.c | 7 +
drivers/acpi/processor_idle.c | 5 +
include/linux/compat.h | 1 +
include/linux/perf_event.h | 22 ++
include/linux/sched/signal.h | 2 +-
include/uapi/asm-generic/siginfo.h | 7 +
kernel/events/core.c | 4 +-
kernel/signal.c | 18 +-
tools/arch/x86/include/asm/amd-ibs.h | 2 +-
34 files changed, 1445 insertions(+), 414 deletions(-)
create mode 100644 arch/x86/events/amd/brs.c