Re: [GIT PULL] perf tools changes for v6.10

From: Namhyung Kim
Date: Sat May 25 2024 - 03:38:18 EST


Hi guys,

On Fri, May 24, 2024 at 9:20 PM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, 24 May 2024 at 20:48, Ian Rogers <irogers@xxxxxxxxxx> wrote:
> >
> > Thanks for the report. TL;DR try putting the PMU name with the event
> > name, so "cycles:pp" becomes "armv8_pmuv3_0/cycles/pp", where
> > armv8_pmuv3_0 is the name of the PMU from /sys/devices.
>
> What? No.
>
> If that is the new rule, then I'm just going to revert. I'm not going
> to use some random different PMU names across architectures when all I
> want is just "cycles".
>
> In fact, the "cycles:pp" is a complete red herring. Just doing a simple
>
> $ perf record sleep 1
>
> with no explicit expression at all, results in that same
>
> Error:
> cycles:P: PMU Hardware doesn't support sampling/overflow-interrupts.
> Try 'perf stat'
>
> because perf *ITSELF* uses the sane format by default.

Yep, so I'm curious what makes it fail. IIUC the commit in question
would convert "cycles" event to "${whatever_pmu}/cycles/" if the pmu
has "events/cycles" alias in sysfs or in JSON. But it should work after
that too. :(

It seems my system doesn't have the alias (both in x86_64 and arm64)
at least in sysfs. I think that's why I don't see the failure and maybe
there's a specific hardware issue - like a M1 macbook issue? IIRC it
required the exclude_guest bit to be set, but I think we handled it already
so this must be a different issue.

The error message is for EOPNOTSUPP, and I don't think it will set any
special attributes for the default event. So I have no clue yet..

Thanks,
Namhyung

>
> So ABSOLUTELY NO. We're not changing the rules to "You have to know
> some idiotic per-architecture JSON magic".
>
> I don't want any excuses like this. No "You are holding it wrong".
> This is a BUG. Treat it as such.
>
> And yes, "perf record -vv" shows that it apparently picked some insane
> arm_dsu_0 event. Which just shows that trying to parse the JSON rules
> instead of just having sane defaults is clearly not working.
>
> So here's the deal: I will revert your commit tomorrow unless you show
> that you are taking it seriously and have a sane fix.
>
> Because no, "You are holding it wrong" is not the answer. Never was,
> never will be. Things used to work, they don't work any more. That
> shit is not acceptable.
>
> Linus