[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2d2c8e32-53f2-560d-3f69-a0ed7c3810e6@linux.intel.com>
Date: Thu, 21 Jan 2021 14:08:52 +0800
From: "Jin, Yao" <yao.jin@...ux.intel.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...hat.com>
Cc: 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 v2] perf stat: Append to default list if use -e +event
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@...-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?
> Nope:
>
> [root@...co ~]# 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
> [root@...co ~]#
>
> Like with:
>
> [root@...co ~]# perf stat -d sleep 1
> > Performance counter stats for 'sleep 1':
>
> 0.80 msec task-clock # 0.001 CPUs utilized
> 1 context-switches # 0.001 M/sec
> 0 cpu-migrations # 0.000 K/sec
> 59 page-faults # 0.073 M/sec
> 2,215,522 cycles # 2.757 GHz (7.40%)
> 1,073,189 instructions # 0.48 insn per cycle (80.59%)
> 203,615 branches # 253.392 M/sec
> 8,309 branch-misses # 4.08% of all branches
> 245,866 L1-dcache-loads # 305.972 M/sec
> 14,024 L1-dcache-load-misses # 5.70% of all L1-dcache accesses (92.60%)
> <not counted> LLC-loads (0.00%)
> <not counted> LLC-load-misses (0.00%)
>
> 1.001887261 seconds time elapsed
>
> 0.000000000 seconds user
> 0.001413000 seconds sys
>
>
> Some events weren't counted. Try disabling the NMI watchdog:
> echo 0 > /proc/sys/kernel/nmi_watchdog
> perf stat ...
> echo 1 > /proc/sys/kernel/nmi_watchdog
> [root@...co ~]# perf stat -e -LLC* -d sleep 1
> event syntax error: '-LLC*'
> \___ 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
> [root@...co ~]#
>
> - Arnaldo
>
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@...-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.
Thanks
Jin Yao
Powered by blists - more mailing lists