From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
James Clark <james.clark@linaro.org>, Xu Yang <xu.yang_2@nxp.com>,
Thomas Falcon <thomas.falcon@intel.com>,
Andi Kleen <ak@linux.intel.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
bpf@vger.kernel.org, Atish Patra <atishp@rivosinc.com>,
Beeman Strong <beeman@rivosinc.com>, Leo Yan <leo.yan@arm.com>,
Vince Weaver <vincent.weaver@maine.edu>
Subject: Re: [PATCH v3 00/15] Legacy hardware/cache events as json
Date: Thu, 11 Sep 2025 14:50:55 -0700 [thread overview]
Message-ID: <aMNEP5rMBkq2ODAW@google.com> (raw)
In-Reply-To: <CAP-5=fXN5oe7tLCnuBnoYKm68GhuMXP00AjszRyPc_XpDkacxQ@mail.gmail.com>
On Wed, Sep 10, 2025 at 02:58:05PM -0700, Ian Rogers wrote:
> On Wed, Sep 10, 2025 at 1:10 PM Namhyung Kim <namhyung@kernel.org> wrote:
> > A nit. Can we have one actual event and an alias of it?
> >
> > I think 'branch-instructions' will be the actual event and 'branches'
> > will be the alias. Then the description will be like
> >
> > branch-instructions
> > [Retired branch instructions. Unit: cpu_atom]
> > ...
> >
> > branches
> > [This event is an alias of branch-instructions.]
> >
> > The same goes to 'cycles' and 'cpu-cycles'.
>
> Similar 'cs' and 'context-switches' in
> tools/perf/pmu-events/arch/common/common/software.json.
>
> So there are a few different ways to do this:
>
> 1) In perf list detect two events have the same encoding and list them together.
> 2) In the json have a new aliases list then either:
> 2.1) gets expanded in jevents.py as part of the build,
> 2.2) passes into the pmu-events.c and the C code is updated to use an
> alias list associated with each event.
>
> Option (1) will have something like quadratic complexity, but a fast
> perf list isn't a particular goal I've heard of.
> Option (2.2) will mean the existing binary searches for events will
> become a binary search for an event and then linear searches through
> the aliases. To make this not a slowdown we'd likely need more lookup
> tables to avoid the linear searches.
> Option (2.1) feels the most plausible. I was hoping the json and the
> sysfs layout would kind of match, this would be true after the
> jevents.py expands the aliases. This option is already kind of already
> done in the legacy cache case as the
> tools/perf/pmu-events/make_legacy_cache.py is making this. We'd still
> need option (1) with this.
>
> Anyway, I'm not sure these downsides are countered by a slightly
> smaller hardware.json and software.json, or maybe we should just go
> with option 1 if the perf list output is all you care about. Let me
> know if you see a different way of making it happen. I don't think the
> vendors will be particularly happy for their upstream formats to
> change given other tools will rely on them.
Well, I was asking just to update the description in JSON. I'm not sure
if it's a common problem we need to solve. Updating a few known aliases
in the hardware and software description would be fine.
Thanks,
Namhyung
prev parent reply other threads:[~2025-09-11 21:50 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-28 20:59 [PATCH v3 00/15] Legacy hardware/cache events as json Ian Rogers
2025-08-28 20:59 ` [PATCH v3 01/15] perf parse-events: Fix legacy cache events if event is duplicated in a PMU Ian Rogers
2025-08-28 20:59 ` [PATCH v3 02/15] perf perf_api_probe: Avoid scanning all PMUs, try software PMU first Ian Rogers
2025-08-28 20:59 ` [PATCH v3 03/15] perf record: Skip don't fail for events that don't open Ian Rogers
2025-08-28 20:59 ` [PATCH v3 04/15] perf jevents: Support copying the source json files to OUTPUT Ian Rogers
2025-08-28 20:59 ` [PATCH v3 05/15] perf pmu: Don't eagerly parse event terms Ian Rogers
2025-08-28 20:59 ` [PATCH v3 06/15] perf parse-events: Remove unused FILE input argument to scanner Ian Rogers
2025-08-28 20:59 ` [PATCH v3 07/15] perf pmu: Use fd rather than FILE from new_alias Ian Rogers
2025-08-28 20:59 ` [PATCH v3 08/15] perf pmu: Factor term parsing into a perf_event_attr into a helper Ian Rogers
2025-08-28 20:59 ` [PATCH v3 09/15] perf parse-events: Add terms for legacy hardware and cache config values Ian Rogers
2025-08-28 20:59 ` [PATCH v3 10/15] perf jevents: Add legacy json terms and default_core event table helper Ian Rogers
2025-08-28 20:59 ` [PATCH v3 11/15] perf pmu: Add and use legacy_terms in alias information Ian Rogers
2025-08-28 20:59 ` [PATCH v3 12/15] perf jevents: Add legacy-hardware and legacy-cache json Ian Rogers
2025-08-28 20:59 ` [PATCH v3 13/15] perf print-events: Remove print_hwcache_events Ian Rogers
2025-08-28 20:59 ` [PATCH v3 14/15] perf print-events: Remove print_symbol_events Ian Rogers
2025-08-28 20:59 ` [PATCH v3 15/15] perf parse-events: Remove hard coded legacy hardware and cache parsing Ian Rogers
2025-09-03 8:06 ` [PATCH v3 00/15] Legacy hardware/cache events as json Thomas Richter
2025-09-10 11:14 ` James Clark
2025-09-10 15:00 ` Ian Rogers
2025-09-11 13:00 ` James Clark
2025-09-11 17:15 ` Ian Rogers
2025-09-10 20:10 ` Namhyung Kim
2025-09-10 21:58 ` Ian Rogers
2025-09-11 21:50 ` Namhyung Kim [this message]
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=aMNEP5rMBkq2ODAW@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=atishp@rivosinc.com \
--cc=beeman@rivosinc.com \
--cc=bpf@vger.kernel.org \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=leo.yan@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=thomas.falcon@intel.com \
--cc=vincent.weaver@maine.edu \
--cc=xu.yang_2@nxp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.