Re: [PATCH] perf-record: Create events initially disabled -- again

Arnaldo Carvalho de Melo
2012-05-14T14:54:32Z

Em Mon, May 14, 2012 at 08:21:02AM -0600, David Ahern escreveu:
> On 5/14/12 7:09 AM, David Ahern wrote:
> >>A problem I see is that it'll break group handling again:
> >>
> >>$ ./perf stat -g sleep 1
> >>
> >>Performance counter stats for 'sleep 1':
> >>
> >><not counted> task-clock
> >><not counted> context-switches
> >><not counted> CPU-migrations
> >><not counted> page-faults
> >><not counted> cycles
> >><not counted> stalled-cycles-frontend
> >><not counted> stalled-cycles-backend
> >><not counted> instructions
> >><not counted> branches
> >><not counted> branch-misses
> >>
> >>1.000868932 seconds time elapsed
> >>
> >>So I suggest changing perf_target__none() check to a proper one
> >>(perf_target__no_cpu? - the name might be changed soon) for your
> >>purpose.
> >
> >Something else is wrong then. I tested that command (saw your patch in
> >the history) and it worked for me. Also, this code path does not affect
> >perf-stat -- it touches perf-record and perf-test only.
>
> I think it is something else. I am running latest git tree
> (3.4.0-rc7). perf from Linus' tree and acme/core both show:
>
> perf stat -g -- find /usr >/dev/null
>
> Performance counter stats for 'find /usr':
>
> <not counted> task-clock
> <not counted> context-switches
> <not counted> CPU-migrations
> <not counted> page-faults
> <not counted> cycles
> <not counted> stalled-cycles-frontend
> <not counted> stalled-cycles-backend
> <not counted> instructions
> <not counted> branches
> <not counted> branch-misses
>
> 0.111976940 seconds time elapsed
>
> (Using find to make sure some work is done as opposed to sleep;
> openssl speed also shows the above.)

[acme@sandy ~]$ perf stat -g -- find /usr >/dev/null
find: `/usr/lib64/audit': Permission denied
^Cfind: Interrupt

Performance counter stats for 'find /usr':

<not counted> task-clock
<not counted> context-switches
<not counted> CPU-migrations
<not counted> page-faults
<not counted> cycles
<not counted> stalled-cycles-frontend
<not counted> stalled-cycles-backend
<not counted> instructions
<not counted> branches
<not counted> branch-misses

1.282060271 seconds time elapsed

[acme@sandy ~]$ uname -r
3.4.0-rc4-uprobes+

But:

[acme@felicio linux]$ uname -r
3.4.0-rc3+
[acme@felicio linux]$ perf stat -g -- find /usr >/dev/null
^Cfind: Interrupt

Performance counter stats for 'find /usr':

126.499751 task-clock # 0.122 CPUs utilized
<not counted> context-switches
<not counted> CPU-migrations
<not counted> page-faults
366,694,182 cycles # 2.899 GHz
151,332,137 stalled-cycles-frontend # 41.27% frontend cycles idle
103,373,418 stalled-cycles-backend # 28.19% backend cycles idle
408,309,250 instructions # 1.11 insns per cycle
# 0.37 stalled cycles
# per insn
77,453,802 branches # 612.284 M/sec
1,703,728 branch-misses # 2.20% of all branches

1.032917277 seconds time elapsed

[acme@felicio linux]$

Bisecting...

- Arnaldo