Re: [PATCH v2] perf stat: Append to default list if use -e +event

From: Jiri Olsa
Date: Sat Jan 23 2021 - 18:19:25 EST


On Thu, Jan 21, 2021 at 10:02:25AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Jan 21, 2021 at 02:08:52PM +0800, Jin, Yao escreveu:
> > Hi Arnaldo,
> >
> > On 1/21/2021 8:03 AM, Arnaldo Carvalho de Melo wrote:
> > > Em Wed, Jan 20, 2021 at 10:25:53PM +0100, Jiri Olsa escreveu:
> > > > On Mon, Jan 18, 2021 at 12:54:37PM +0800, Jin, Yao wrote:
> > > > > root@kbl-ppc:# ./perf stat -e +power/energy-pkg/ -a -- sleep 1
> > >
> > > > > Performance counter stats for 'system wide':
> > >
> > > > > 2.02 Joules +power/energy-pkg/
> > >
> > > > > 1.000859434 seconds time elapsed
> > >
> > > > > The '+' prefix is printed. So I finally decide not to remove the '+' prefix
> > > > > in order to keep original behavior.
> > > > hm, originaly there's no purpose for the '+', right?
> > > > it seems it's more like bug then anything else
> > > > you added function to the '+' to add default events to specified event,
> > > > which I think is good idea, but I don't think we should display the
> > > > extra '+' in output
> > >
> > > The value would be to stress that that is an event added to the ones
> > > without the + prefix, i.e. the default ones.
> > >
> > > But by having the command line copied over and the added events at the
> > > first lines we should have that abundantly clear.
> > >
> > > Also we won't print removed events (using -), is that available already?
> > >
> >
> > Sorry, the '-' support is not available in this patch. Can I do the patch
> > for '+' first and then do a follow up patch for '-' at next step?
>
> Yeah, it can be done afterwards, to be symmetric.
>
> > > Nope:
> > >
> > > [root@quaco ~]# perf stat -e -cycles sleep
> > > event syntax error: '-cycles'
> > > \___ parser error
> > > Run 'perf list' for a list of valid events
> > >
> > > Usage: perf stat [<options>] [<command>]
> > >
> > > -e, --event <event> event selector. use 'perf list' to list available events
>
> > So if we just want to append the default list, we only need to set
> > detailed_run=1, then ideally perf-stat will print the default list.
>
> > But for now, there are no task-clock, context-switches, cpu-migrations,
> > page-faults, instructions, branches and branch-misses displayed.
>
> > root@kbl-ppc:~# ./perf stat -e cycles -d -a -- sleep 1
> >
> > Performance counter stats for 'system wide':
> >
> > 124,178,207 cycles (80.02%)
> > 6,444,490 L1-dcache-loads (80.01%)
> > 1,043,169 L1-dcache-load-misses # 16.19% of all L1-dcache accesses (80.02%)
> > 564,474 LLC-loads (80.02%)
> > 49,262 LLC-load-misses # 8.73% of all LL-cache accesses (79.92%)
> >
> > 1.001614947 seconds time elapsed
> >
> > Do we still need the '+' prefix to add the specified event on top of default
> > list? It looks current syntax should already support that feature, but just
> > need to fix some issues.
>
> I think we can do away with that '+' when showing the added events and
> its counts.

I was thinking of people parsing the stat output (this is probably also
in CSV output, right?) having the extra '+' prrefix could cause issues

jirka