[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YHBbJEKjE3DuPvZZ@krava>
Date: Fri, 9 Apr 2021 15:48:20 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Jin Yao <yao.jin@...ux.intel.com>
Cc: acme@...nel.org, jolsa@...nel.org, peterz@...radead.org,
mingo@...hat.com, alexander.shishkin@...ux.intel.com,
Linux-kernel@...r.kernel.org, ak@...ux.intel.com,
kan.liang@...el.com, yao.jin@...el.com
Subject: Re: [PATCH v3 11/27] perf pmu: Support 'cycles' and 'branches'
inside hybrid PMU
On Mon, Mar 29, 2021 at 03:00:30PM +0800, Jin Yao wrote:
> On hybrid platform, user may want to enable the hardware event
> only on one PMU. So following syntax is supported:
>
> cpu_core/<hardware event>/
> cpu_atom/<hardware event>/
>
> # perf stat -e cpu_core/cpu-cycles/ -a -- sleep 1
>
> Performance counter stats for 'system wide':
>
> 6,049,336 cpu_core/cpu-cycles/
>
> 1.003577042 seconds time elapsed
>
> It enables the event 'cpu-cycles' only on cpu_core pmu.
>
> But for 'cycles' and 'branches', the syntax doesn't work.
because the alias is not there.. but there's:
cpu/cpu-cycles/
cpu/branch-instructions/
doing the same thing.. what's wrong with that?
I have a feeling we discussed this in the previous
version.. did I give up? ;-)
SNIP
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index beff29981101..72e5ae5e868e 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -916,6 +916,35 @@ static int pmu_max_precise(const char *name)
> return max_precise;
> }
>
> +static void perf_pmu__add_hybrid_aliases(struct list_head *head)
> +{
> + static struct pmu_event pme_hybrid_fixup[] = {
> + {
> + .name = "cycles",
> + .event = "event=0x3c",
> + },
> + {
> + .name = "branches",
> + .event = "event=0xc4",
> + },
> + {
> + .name = 0,
> + .event = 0,
> + },
if you really need to access these 2 events with special name,
why not add it through the json.. let's not have yet another
place that defines aliases ... also this should be model specific
no?
jirka
Powered by blists - more mailing lists