2024-02-01 20:23:17

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [GIT PULL] perf tools fixes for v6.8

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 <[email protected]>

----------------------------------------------------------------
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(-)


2024-02-01 20:57:34

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] perf tools fixes for v6.8

On Thu, 1 Feb 2024 at 12:23, Arnaldo Carvalho de Melo <[email protected]> wrote:
>
> Please consider pulling, mostly 'perf test' issues, which in its
> turn are mostly related to myself having Intel hybrid systems at home.

I started pulling, but there's some truly odd noise in the tag, so you
clearly have done something wrong.

You need to fix your odd tagging process, they are normally noisy, but
this is just so far off the norm that I can't overlook the craziness.

Linus

2024-02-01 21:14:46

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [GIT PULL] perf tools fixes for v6.8

Em Thu, Feb 01, 2024 at 12:57:00PM -0800, Linus Torvalds escreveu:
> On Thu, 1 Feb 2024 at 12:23, Arnaldo Carvalho de Melo <[email protected]> wrote:
> > Please consider pulling, mostly 'perf test' issues, which in its
> > turn are mostly related to myself having Intel hybrid systems at home.

> I started pulling, but there's some truly odd noise in the tag, so you
> clearly have done something wrong.

> You need to fix your odd tagging process, they are normally noisy, but
> this is just so far off the norm that I can't overlook the craziness.

You're right, this can be routed instead thru perf-tools-next, for v6.9.

I should've known better and not send the noisy JSON changes at this
point in time.

And the other stuff doesn't affect normal day to day operation, just a
matter of addressiong artifacts in 'perf test' output so can wait.

Namhyung, please check if you agree to have this merged into
perf-tools-next on the way to v6.9.

- Arnaldo

2024-02-01 21:21:43

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] perf tools fixes for v6.8

On Thu, 1 Feb 2024 at 13:14, Arnaldo Carvalho de Melo <[email protected]> wrote:
>
> I should've known better and not send the noisy JSON changes at this
> point in time.

Arnaldo, it's not the JSON changes in the history.

It's the absolute garbage in the *tag* itself. It's crazy. Do this"

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

git cat-file tag FETCH_HEAD

and see complete and utter garbage in the tag contents.

Note: that is not a change *made* by the tag. It's literally just
garbage content in the tag *message* itself.

You have something *seriously* wrong with your scripting or tag
creation workflow.

Linus

2024-02-01 21:26:48

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [GIT PULL] perf tools fixes for v6.8

Em Thu, Feb 01, 2024 at 01:21:16PM -0800, Linus Torvalds escreveu:
> On Thu, 1 Feb 2024 at 13:14, Arnaldo Carvalho de Melo <[email protected]> wrote:
> >
> > I should've known better and not send the noisy JSON changes at this
> > point in time.
>
> Arnaldo, it's not the JSON changes in the history.
>
> It's the absolute garbage in the *tag* itself. It's crazy. Do this"
>
> git fetch git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git
> perf-tools-fixes-for-v6.8-1-2024-02-01
>
> git cat-file tag FETCH_HEAD
>
> and see complete and utter garbage in the tag contents.
>
> Note: that is not a change *made* by the tag. It's literally just
> garbage content in the tag *message* itself.
>
> You have something *seriously* wrong with your scripting or tag
> creation workflow.

Ok, I'll check, as I said I switched machines, I must've screwed up
something.

- Arnaldo

2024-02-01 22:01:59

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [GIT PULL] perf tools fixes for v6.8

Em Thu, Feb 01, 2024 at 06:26:37PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Feb 01, 2024 at 01:21:16PM -0800, Linus Torvalds escreveu:
> > On Thu, 1 Feb 2024 at 13:14, Arnaldo Carvalho de Melo <[email protected]> wrote:
> > > I should've known better and not send the noisy JSON changes at this
> > > point in time.
> >
> > Arnaldo, it's not the JSON changes in the history.
> >
> > It's the absolute garbage in the *tag* itself. It's crazy. Do this"
> >
> > git fetch git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git
> > perf-tools-fixes-for-v6.8-1-2024-02-01
> >
> > git cat-file tag FETCH_HEAD
> >
> > and see complete and utter garbage in the tag contents.
> >
> > Note: that is not a change *made* by the tag. It's literally just
> > garbage content in the tag *message* itself.
> >
> > You have something *seriously* wrong with your scripting or tag
> > creation workflow.
>
> Ok, I'll check, as I said I switched machines, I must've screwed up
> something.

I created that tag, then realized I made a mistake, did a "git
show that-tag > /tmp/foo" to save the cover letter, then when recreating
e signed tag used the contents of that temp file, but forgot to remove
the end that contained the previous HEAD, d0h.

I fixed the tag and force pushed it now, I looked at:

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

And it has what was intended, hopefully no craziness now...

Double checking:

[acme@quaco linux]$ git fetch git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git perf-tools-fixes-for-v6.8-1-2024-02-01
remote: Enumerating objects: 2084, done.
remote: Counting objects: 100% (1075/1075), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 2084 (delta 1055), reused 1071 (delta 1053), pack-reused 1009
Receiving objects: 100% (2084/2084), 1.18 MiB | 1.15 MiB/s, done.
Resolving deltas: 100% (1589/1589), completed with 551 local objects.
From git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
* tag perf-tools-fixes-for-v6.8-1-2024-02-01 -> FETCH_HEAD
[acme@quaco linux]$
[acme@quaco linux]$ git cat-file tag FETCH_HEAD | tail
- Also, without tooling effects: asm-generic/unaligned.h, mount.h, fcntl.h, kvm headers.

Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCZbwOmQAKCRCyPKLppCJ+
J/TkAP92DD1ZKmc9WzlJ8vpbz+nXwvMIDTRSSBnvYPiDNSL6xAEAkX92qWUQ35RS
faz2v593RZ4VfthcAEl5P6FXEhHhfAc=
=pDc1
-----END PGP SIGNATURE-----
[acme@quaco linux]$

- Arnaldo

2024-02-03 13:15:36

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] perf tools fixes for v6.8

The pull request you sent on Thu, 1 Feb 2024 17:22:54 -0300:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b555d191561a7f89b8d2108dff687d9bc4284e48

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html