[GIT PULL] performance events updates for v5.10

From: Ingo Molnar
Date: Mon Oct 12 2020 - 12:10:55 EST


Please pull the latest perf/core git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-2020-10-12

# HEAD: f91072ed1b7283b13ca57fcfbece5a3b92726143 perf/core: Fix race in the perf_mmap_close() function

These are the performance events changes for v5.10:

x86 Intel updates:

- Add Jasper Lake support

- Add support for TopDown metrics on Ice Lake

- Fix Ice Lake & Tiger Lake uncore support, add Snow Ridge support

- Add a PCI sub driver to support uncore PMUs where the PCI resources
have been claimed already - extending the range of supported systems.

x86 AMD updates:

- Restore 'perf stat -a' behaviour to program the uncore PMU
to count all CPU threads.

- Fix setting the proper count when sampling Large Increment
per Cycle events / 'paired' events.

- Fix IBS Fetch sampling on F17h and some other IBS fine tuning,
greatly reducing the number of interrupts when large sample
periods are specified.

- Extends Family 17h RAPL support to also work on compatible
F19h machines.

Core code updates:

- Fix race in perf_mmap_close()

- Add PERF_EV_CAP_SIBLING, to denote that sibling events should be
closed if the leader is removed.

- Smaller fixes and updates.



Alexander Antonov (1):
perf/x86/intel/uncore: Fix for iio mapping on Skylake Server

Colin Ian King (1):
x86/events/amd/iommu: Fix sizeof mismatch

Jarkko Sakkinen (1):
kprobes: Use module_name() macro

Jiri Olsa (1):
perf/core: Fix race in the perf_mmap_close() function

Kan Liang (28):
perf/x86: Use event_base_rdpmc for the RDPMC userspace support
perf/x86/intel: Name the global status bit in NMI handler
perf/x86/intel: Introduce the fourth fixed counter
perf/x86/intel: Move BTS index to 47
perf/x86/intel: Fix the name of perf METRICS
perf/x86/intel: Use switch in intel_pmu_disable/enable_event
perf/core: Add a new PERF_EV_CAP_SIBLING event capability
perf/x86/intel: Generic support for hardware TopDown metrics
perf/x86: Add a macro for RDPMC offset of fixed counters
perf/x86/intel: Support TopDown metrics on Ice Lake
perf/x86/intel: Support per-thread RDPMC TopDown metrics
perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS
perf/core: Pull pmu::sched_task() into perf_event_context_sched_in()
perf/core: Pull pmu::sched_task() into perf_event_context_sched_out()
perf/x86/intel/uncore: Factor out uncore_pci_get_dev_die_info()
perf/x86/intel/uncore: Factor out uncore_pci_find_dev_pmu()
perf/x86/intel/uncore: Factor out uncore_pci_pmu_register()
perf/x86/intel/uncore: Factor out uncore_pci_pmu_unregister()
perf/x86/intel/uncore: Generic support for the PCI sub driver
perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge
perf/x86/intel/uncore: Split the Ice Lake and Tiger Lake MSR uncore support
perf/x86/intel/uncore: Update Ice Lake uncore units
perf/x86/intel/uncore: Reduce the number of CBOX counters
perf/x86/intel: Add Jasper Lake support
perf/x86/msr: Add Jasper Lake support
perf/x86/intel/uncore: Fix the scale of the IMC free-running events
perf/x86/intel: Fix Ice Lake event constraint table
perf/x86/intel: Check perf metrics feature for each CPU

Kim Phillips (11):
perf/amd/uncore: Set all slices and threads to restore perf stat -a behaviour
perf/x86/amd: Fix sampling Large Increment per Cycle events
perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count()
perf/x86/amd/ibs: Fix raw sample data accumulation
perf/x86/amd/ibs: Support 27-bit extended Op/cycle counter
perf/x86/rapl: Add AMD Fam19h RAPL support
arch/x86/amd/ibs: Fix re-arming IBS Fetch
perf/amd/uncore: Prepare to scale for more attributes that vary per family
perf/amd/uncore: Allow F17h user threadmask and slicemask specification
perf/amd/uncore: Allow F19h user coreid, threadmask, and sliceid specification
perf/amd/uncore: Inform the user how many counters each uncore PMU has

Peter Zijlstra (2):
perf/x86: Fix n_pair for cancelled txn
perf/x86: Fix n_metric for cancelled txn

arch/x86/events/amd/ibs.c | 93 ++++++---
arch/x86/events/amd/iommu.c | 2 +-
arch/x86/events/amd/uncore.c | 186 ++++++++++--------
arch/x86/events/core.c | 91 +++++++--
arch/x86/events/intel/core.c | 364 +++++++++++++++++++++++++++++++++--
arch/x86/events/intel/ds.c | 32 +--
arch/x86/events/intel/uncore.c | 275 ++++++++++++++++++++------
arch/x86/events/intel/uncore.h | 2 +
arch/x86/events/intel/uncore_snb.c | 45 ++++-
arch/x86/events/intel/uncore_snbep.c | 72 ++++++-
arch/x86/events/msr.c | 1 +
arch/x86/events/perf_event.h | 54 +++++-
arch/x86/events/rapl.c | 1 +
arch/x86/include/asm/msr-index.h | 4 +
arch/x86/include/asm/perf_event.h | 98 ++++++++--
include/linux/perf_event.h | 34 ++--
kernel/events/core.c | 121 +++++++-----
kernel/trace/trace_kprobe.c | 7 +-
18 files changed, 1182 insertions(+), 300 deletions(-)