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