From: Greg KH <gregkh@linuxfoundation.org>
To: Thomas Richter <tmricht@linux.ibm.com>
Cc: "linux-perf-use." <linux-perf-users@vger.kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Sumanth Korikkar <sumanthk@linux.ibm.com>
Subject: Re: REGRESSION linux-next since Nov 16th, perf tool broken (at least on s390)
Date: Wed, 22 Nov 2023 09:31:24 +0000 [thread overview]
Message-ID: <2023112248-unskilled-flagman-05e6@gregkh> (raw)
In-Reply-To: <aca1eb79-5dee-4634-8727-eebb251c9e1e@linux.ibm.com>
On Wed, Nov 22, 2023 at 08:38:28AM +0100, Thomas Richter wrote:
> perf tool fails on linux-next since Nov 16th on s390 when invoking perf on
> any PMU event, as in
>
> # perf stat -e cycles -- true
>
> Performance counter stats for 'true':
>
> <not supported> cycles
>
> 0.000598399 seconds time elapsed
>
> 0.000055000 seconds user
> 0.000567000 seconds sys
>
> # perf stat -e pai_ext/NNPA_ALL/ -C0 -- true
> event syntax error: 'pai_ext/NNPA_ALL/'
> \___ Bad event or PMU
>
> Unable to find PMU or event on a PMU of 'pai_ext'
>
> Initial error:
> event syntax error: 'pai_ext/NNPA_ALL/'
> \___ Cannot find PMU `pai_ext'. Missing kernel support?
> #
>
> This error is caused by following commit, which got into linux-next around November 15th:
>
> commit 652ffc2104ec1f69dd4a46313888c33527145ccf
> Author: Greg KH <gregkh@linuxfoundation.org>
> Date: Mon Jun 12 15:09:09 2023 +0200
>
> perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file
>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> Link: https://lkml.kernel.org/r/2023061204-decal-flyable-6090@gregkh
>
> This commit adds function pmu_dev_is_visible() as the PMU bus function
> to make sysfs attribute files visible.
> On a failing system these sysfs attribute files are exported:
>
> # ll /sys/devices/pai_ext/
> drwxr-xr-x. 2 root root 0 Nov 21 14:59 events
> drwxr-xr-x. 2 root root 0 Nov 21 14:59 format
> lrwxrwxrwx. 1 root root 0 Nov 21 14:43 subsystem -> ../../bus/event_source
> -rw-r--r--. 1 root root 4096 Nov 21 14:43 uevent
> #
/sys/devices/pai_ext/ is a real device? Why there? That's a very odd
location, what type of device is this?
> These is no file named 'type'. Other files are also missing.
> Therefore the perf tool can not access any PMU event defined by this PMU.
>
> On a system with proper export of all PMU sysfs attributes (same linux-next kernel):
> # ll /sys/devices/pai_crypto/
> total 0
> drwxr-xr-x. 2 root root 0 Nov 21 14:44 events
> drwxr-xr-x. 2 root root 0 Nov 21 14:44 format
> -r--r--r--. 1 root root 4096 Nov 21 14:44 nr_addr_filters
> -rw-r--r--. 1 root root 4096 Nov 21 14:44 perf_event_mux_interval_ms
> lrwxrwxrwx. 1 root root 0 Nov 21 14:43 subsystem -> ../../bus/event_source
> -r--r--r--. 1 root root 4096 Nov 21 14:44 type
> -rw-r--r--. 1 root root 4096 Nov 21 14:44 uevent
Ick, again, a "root" device? That's not right and needs to be fixed
first.
> # cat /sys/devices/pai_crypto/type
> 12
> #
>
> Also on such a system the perf stat works again:
> # perf stat -e pai_crypto/CRYPTO_ALL/ -C0 -- true
>
> Performance counter stats for 'CPU(s) 0':
>
> 0 pai_crypto/CRYPTO_ALL/
>
> 0.000741258 seconds time elapsed
>
> #
>
> On s390 there is no need to export sysfs file 'nr_addr_filters', but setting
> this member pmu::nr_addr_filters to a non-zero value before
> calling perf_pmu_register() exhibits the old behavior again.
>
> In my opinion this breaks previous behavior.
>
> Is this intended?
> How to fix this?
Looks like no attributes are exported unless nr_addr_filters is present
in the device, right? That's the way the patch was written, maybe the
change is not correct? I wrote it a while ago, sorry, I can't
remember...
thanks,
greg k-h
next prev parent reply other threads:[~2023-11-22 9:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-22 7:38 REGRESSION linux-next since Nov 16th, perf tool broken (at least on s390) Thomas Richter
2023-11-22 8:06 ` Bagas Sanjaya
2023-11-22 9:31 ` Greg KH [this message]
2023-11-23 7:54 ` Thomas Richter
2023-11-23 8:43 ` Greg KH
2023-11-22 10:07 ` Peter Zijlstra
2023-11-22 14:38 ` Thomas Richter
2023-11-22 15:29 ` Peter Zijlstra
2023-11-23 11:38 ` Thomas Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2023112248-unskilled-flagman-05e6@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=acme@kernel.org \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=linux-perf-users@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=sumanthk@linux.ibm.com \
--cc=tmricht@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox