[GIT PULL] perf fixes

From: Ingo Molnar
Date: Tue Dec 17 2019 - 06:34:33 EST


Linus,

Please pull the latest perf-urgent-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-for-linus

# HEAD: 57e04eeda515ee979fec3bc3d64c408feae18acc Merge tag 'perf-urgent-for-mingo-5.5-20191216' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

These are all perf tooling changes: most of them are fixes.

Note that the large CPU count related fixes go beyond regression fixes -
but the IPI-flood symptoms are severe enough that I think justifies their
inclusion. If it's too much we'll redo the branch.

Thanks,

Ingo

------------------>
Adrian Hunter (1):
perf inject: Fix processing of ID index for injected instruction tracing

Andi Kleen (10):
perf cpumap: Maintain cpumaps ordered and without dups
perf evlist: Maintain evlist->all_cpus
perf evsel: Add iterator to iterate over events ordered by CPU
perf evsel: Add functions to close evsel on a CPU
perf stat: Use affinity for closing file descriptors
perf stat: Factor out open error handling
perf stat: Use affinity for opening events
perf stat: Use affinity for reading
perf evsel: Add functions to enable/disable for a specific CPU
perf stat: Use affinity for enabling/disabling events

Arnaldo Carvalho de Melo (15):
perf machine: Fill map_symbol->maps in append_inlines() to fix segfault
perf bench: Update the copies of x86's mem{cpy,set}_64.S
tools arch x86: Sync the msr-index.h copy with the kernel sources
tools headers uapi: Sync linux/fscrypt.h with the kernel sources
tools headers uapi: Sync linux/stat.h with the kernel sources
tools headers kvm: Sync kvm headers with the kernel sources
tools headers UAPI: Sync sched.h with the kernel
perf beauty: Add CLEAR_SIGHAND support for clone's flags arg
tools arch x86: Sync asm/cpufeatures.h with the kernel sources
perf kvm: Clarify the 'perf kvm' -i and -o command line options
tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
tools headers UAPI: Update tools's copy of drm.h headers
tools headers kvm: Sync linux/kvm.h with the kernel sources
perf arch: Make the default get_cpuid() return compatible error
perf top: Do not bail out when perf_env__read_cpuid() returns ENOSYS

Ed Maste (2):
perf vendor events s390: Fix counter long description for DTLB1_GPAGE_WRITES
perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description

Ian Rogers (1):
perf jit: Move test functionality in to a test

Kajol Jain (1):
perf metricgroup: Fix printing event names of metric group with multiple events

Michael Petlan (1):
perf header: Fix false warning when there are no duplicate cache entries

Ravi Bangoria (4):
perf report/top TUI: Replace pr_err() with ui__error()
perf report: Make -F more strict like -s
perf report: Bail out --mem-mode if mem info is not available
perf/x86/pmu-events: Fix Kernel_Utilization metric

Sudip Mukherjee (3):
libtraceevent: Fix lib installation with O=
libtraceevent: Copy pkg-config file to output folder when using O=
libtraceevent: Allow custom libdir path


tools/arch/arm/include/uapi/asm/kvm.h | 3 +-
tools/arch/arm64/include/uapi/asm/kvm.h | 5 +-
tools/arch/powerpc/include/uapi/asm/kvm.h | 3 +
tools/arch/x86/include/asm/cpufeatures.h | 3 +
tools/arch/x86/include/asm/msr-index.h | 18 ++
tools/arch/x86/lib/memcpy_64.S | 20 +-
tools/arch/x86/lib/memset_64.S | 16 +-
tools/include/uapi/drm/drm.h | 3 +-
tools/include/uapi/drm/i915_drm.h | 128 ++++++++-
tools/include/uapi/linux/fscrypt.h | 3 +-
tools/include/uapi/linux/kvm.h | 12 +
tools/include/uapi/linux/sched.h | 60 +++--
tools/include/uapi/linux/stat.h | 2 +-
tools/lib/traceevent/Makefile | 11 +-
tools/lib/traceevent/plugins/Makefile | 5 +-
tools/perf/Documentation/perf-kvm.txt | 5 +-
tools/perf/arch/arm/tests/regs_load.S | 4 +-
tools/perf/arch/arm64/tests/regs_load.S | 4 +-
tools/perf/arch/x86/tests/regs_load.S | 8 +-
tools/perf/builtin-inject.c | 13 +-
tools/perf/builtin-record.c | 2 +-
tools/perf/builtin-report.c | 8 +
tools/perf/builtin-stat.c | 288 +++++++++++++++------
tools/perf/builtin-top.c | 10 +-
tools/perf/check-headers.sh | 4 +-
tools/perf/lib/cpumap.c | 73 +++++-
tools/perf/lib/evlist.c | 1 +
tools/perf/lib/evsel.c | 76 ++++--
tools/perf/lib/include/internal/evlist.h | 1 +
tools/perf/lib/include/perf/cpumap.h | 2 +
tools/perf/lib/include/perf/evsel.h | 3 +
.../perf/pmu-events/arch/s390/cf_z13/extended.json | 2 +-
.../perf/pmu-events/arch/s390/cf_z14/extended.json | 2 +-
.../pmu-events/arch/x86/broadwell/bdw-metrics.json | 2 +-
.../arch/x86/broadwellde/bdwde-metrics.json | 2 +-
.../arch/x86/broadwellx/bdx-metrics.json | 2 +-
.../arch/x86/cascadelakex/clx-metrics.json | 2 +-
.../pmu-events/arch/x86/haswell/hsw-metrics.json | 2 +-
.../pmu-events/arch/x86/haswellx/hsx-metrics.json | 2 +-
.../pmu-events/arch/x86/ivybridge/ivb-metrics.json | 2 +-
.../pmu-events/arch/x86/ivytown/ivt-metrics.json | 2 +-
.../pmu-events/arch/x86/jaketown/jkt-metrics.json | 2 +-
.../arch/x86/sandybridge/snb-metrics.json | 2 +-
.../pmu-events/arch/x86/skylake/skl-metrics.json | 2 +-
.../pmu-events/arch/x86/skylakex/skx-metrics.json | 2 +-
tools/perf/tests/Build | 1 +
tools/perf/tests/builtin-test.c | 9 +
tools/perf/tests/cpumap.c | 16 ++
tools/perf/tests/event-times.c | 4 +-
tools/perf/tests/genelf.c | 51 ++++
tools/perf/tests/tests.h | 2 +
tools/perf/trace/beauty/clone.c | 1 +
tools/perf/util/cpumap.h | 1 +
tools/perf/util/evlist.c | 113 +++++++-
tools/perf/util/evlist.h | 11 +-
tools/perf/util/evsel.c | 35 ++-
tools/perf/util/evsel.h | 9 +-
tools/perf/util/genelf.c | 46 ----
tools/perf/util/header.c | 23 +-
tools/perf/util/include/linux/linkage.h | 89 ++++++-
tools/perf/util/machine.c | 1 +
tools/perf/util/metricgroup.c | 7 +-
tools/perf/util/sort.c | 16 +-
tools/perf/util/stat.c | 5 +-
tools/perf/util/stat.h | 3 +-
65 files changed, 976 insertions(+), 289 deletions(-)
create mode 100644 tools/perf/tests/genelf.c