[GIT PULL] perf tools fixes for v6.8

From: Arnaldo Carvalho de Melo
Date: Thu Feb 01 2024 - 15:23:15 EST


Hi Linus,

Please consider pulling, mostly 'perf test' issues, which in its
turn are mostly related to myself having Intel hybrid systems at home.

All in all its about making the build and 'perf test' output
clean in more systems.

This is being done after a laptop refresh, so maybe something is
out of place, lemme know if you find something broken, last refresh was
before the pandemic, so...

Best regards,

- Arnaldo

The following changes since commit ecb1b8288dc7ccbdcb3b9df005fa1c0e0c0388a7:

Merge tag 'net-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2024-01-25 10:58:35 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git perf-tools-fixes-for-v6.8-1-2024-02-01

for you to fetch changes up to fdd0ae72b34e56eb5e896d067c49a78ecb451032:

perf tools headers: update the asm-generic/unaligned.h copy with the kernel sources (2024-01-31 14:02:41 -0300)

----------------------------------------------------------------
perf tools fixes for v6.8:

Vendor events:

- Intel Alderlake/Sapphire Rapids metric fixes, the CPU type ("cpu_atom", "cpu_core")
needs to be used as a prefix to be considered on a metric formula, detected via one
of the 'perf test' entries.

'perf test' fixes:

- Fix the creation of event selector lists on 'perf test' entries, by initializing
the sample ID flag, which is done by 'perf record', so this fix only the tests,
the common case isn't affected.

- Make 'perf list' respect debug settings (-v) to fix its 'perf test' entry.

- Fix 'perf script' test when python support isn't enabled.

- Special case 'perf script' tests on s390, where only DWARF call graphs are
supported and only on software events.

- Make 'perf daemon' signal test less racy.

Compiler warnings/errors:

- Remove needless malloc(0) call in 'perf top' that triggers -Walloc-size.

- Fix calloc() argument order to address error introduced in gcc-14.

Build:

- Make minimal shellcheck version to v0.6.0, avoiding the build to fail with older versions.

Sync kernel header copies:

- stat.h to pick STATX_MNT_ID_UNIQUE.

- msr-index.h to pick IA32_MKTME_KEYID_PARTITIONING.

- drm.h to pick DRM_IOCTL_MODE_CLOSEFB.

- unistd.h to pick {list,stat}mount, lsm_{[gs]et_self_attr,list_modules} syscall numbers.

- x86 cpufeatures to pick TDX, Zen, APIC MSR fence changes.

- x86's mem{cpy,set}_64.S used in 'perf bench'.

- Also, without tooling effects: asm-generic/unaligned.h, mount.h, fcntl.h, kvm headers.

Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

----------------------------------------------------------------
Arnaldo Carvalho de Melo (10):
tools headers uapi: Sync linux/stat.h with the kernel sources to pick STATX_MNT_ID_UNIQUE
tools arch x86: Sync the msr-index.h copy with the kernel sources to pick IA32_MKTME_KEYID_PARTITIONING
tools headers UAPI: Sync linux/fcntl.h with the kernel sources
tools headers UAPI: Update tools's copy of drm.h headers to pick DRM_IOCTL_MODE_CLOSEFB
tools headers UAPI: Sync kvm headers with the kernel sources
tools headers UAPI: Sync unistd.h to pick {list,stat}mount, lsm_{[gs]et_self_attr,list_modules} syscall numbers
tools headers x86 cpufeatures: Sync with the kernel sources to pick TDX, Zen, APIC MSR fence changes
tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench'
tools include UAPI: Sync linux/mount.h copy with the kernel sources
perf tools headers: update the asm-generic/unaligned.h copy with the kernel sources

Ian Rogers (6):
perf list: Switch error message to pr_err() to respect debug settings (-v)
perf list: Add output file option
perf test: Workaround debug output in list test
perf test shell script: Fix test for python being disabled
perf test shell daemon: Make signal test less racy
perf vendor events intel: Alderlake/sapphirerapids metric fixes

James Clark (1):
perf evlist: Fix evlist__new_default() for > 1 core PMU

Sun Haiyong (2):
perf top: Remove needless malloc(0) call that triggers -Walloc-size
perf tools: Fix calloc() arguments to address error introduced in gcc-14

Thomas Richter (1):
perf test: Fix 'perf script' tests on s390

Yicong Yang (1):
perf build: Make minimal shellcheck version to v0.6.0

tools/arch/x86/include/asm/cpufeatures.h | 8 +-
tools/arch/x86/include/asm/msr-index.h | 8 +
tools/arch/x86/include/uapi/asm/kvm.h | 3 +
tools/arch/x86/lib/memcpy_64.S | 4 +-
tools/arch/x86/lib/memset_64.S | 4 +-
tools/include/asm-generic/unaligned.h | 24 +-
tools/include/uapi/asm-generic/unistd.h | 15 +-
tools/include/uapi/drm/drm.h | 72 +++++-
tools/include/uapi/drm/i915_drm.h | 12 +-
tools/include/uapi/linux/fcntl.h | 3 +
tools/include/uapi/linux/kvm.h | 140 ++++--------
tools/include/uapi/linux/mount.h | 70 ++++++
tools/include/uapi/linux/stat.h | 1 +
tools/perf/Documentation/perf-list.txt | 4 +
tools/perf/Makefile.perf | 10 +
tools/perf/builtin-list.c | 211 ++++++++++-------
tools/perf/builtin-record.c | 4 +-
tools/perf/builtin-top.c | 2 +-
.../pmu-events/arch/x86/alderlake/adl-metrics.json | 254 ++++++++++-----------
.../arch/x86/alderlaken/adln-metrics.json | 4 -
.../arch/x86/sapphirerapids/spr-metrics.json | 25 +-
tools/perf/tests/shell/daemon.sh | 34 ++-
tools/perf/tests/shell/list.sh | 21 +-
tools/perf/tests/shell/script.sh | 12 +-
tools/perf/trace/beauty/statx.c | 1 +
tools/perf/util/evlist.c | 9 +-
tools/perf/util/hist.c | 4 +-
tools/perf/util/include/linux/linkage.h | 4 +
tools/perf/util/metricgroup.c | 2 +-
tools/perf/util/print-events.c | 2 +-
tools/perf/util/synthetic-events.c | 4 +-
31 files changed, 588 insertions(+), 383 deletions(-)