Strange behavior of perf top with PEBS
Hello,
Running perf version 4.4.14.g0cb188d (no modification to the PMU/perf code) I observed that "perf top" counts no cycles and produces no output. After a bit of head scratching and testing I figured that running "perf top -e cycles" actually works whereas the default option is equivalent to running "perf top -e cycles:p". So the latter version seems to not work on my machine.
Here is what my CPU is:
cat /proc/cpuinfo
processor : 0vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5450 @ 3.00GHz
stepping : 6
microcode : 0x60f
cpu MHz : 2992.637
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yesfpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority
And the PEBS that is detected:
Performance Events: PEBS fmt0+, 4-deep LBR, Core2 events, Intel PMU driver
Looking at the code in arch/x86/kernel/cpu/perf_event_intel_ds.c it seems that the number after the fmt decides the level (according to
http://man7.org/linux/man-pages/man1/perf-list.1.html#EVENT%C2%A0MODIFIERS)
So in this case fmt0 should means that :p is not supported but perf top doesn't give any error. Increasing the number of
p's : "perf top -e cycles:pp" shows the following error:
'precise' request may not be supported. Try removing 'p' modifier.
In this case shouldn't adding even a single :p modifier cause the aforementioned error to be printed?
Quoted 8 lines · Nikolay Borisov
Hello,
Running perf version 4.4.14.g0cb188d (no modification to the PMU/perf code) I observed that "perf top" counts no cycles and produces no output. After a bit of head scratching and testing I figured that running "perf top -e cycles" actually works whereas the default option is equivalent to running "perf top -e cycles:p". So the latter version seems to not work on my machine.
hum, I think Core2 has PEBs valid only for instructions not cycles..
I'll check why perf top forcing the precise for cycles I thought we had that automated already
jirka
Quoted 11 lines · Jiri Olsa
Quoted 8 lines · Nikolay Borisov
Hello,
Running perf version 4.4.14.g0cb188d (no modification to the PMU/perf code) I observed that "perf top" counts no cycles and produces no output. After a bit of head scratching and testing I figured that running "perf top -e cycles" actually works whereas the default option is equivalent to running "perf top -e cycles:p". So the latter version seems to not work on my machine.
hum, I think Core2 has PEBs valid only for instructions not cycles..
FYI running perf top -e instructions:p also produces no data on that particular CPU.
Quoted 6 lines
I'll check why perf top forcing the precise for cycles I thought we had that automated already
jirka
Quoted 10 lines · Jiri Olsa
Quoted 8 lines · Nikolay Borisov
Hello,
Running perf version 4.4.14.g0cb188d (no modification to the PMU/perf code) I observed that "perf top" counts no cycles and produces no output. After a bit of head scratching and testing I figured that running "perf top -e cycles" actually works whereas the default option is equivalent to running "perf top -e cycles:p". So the latter version seems to not work on my machine.
Quoted 4 lines
hum, I think Core2 has PEBs valid only for instructions not cycles..
I'll check why perf top forcing the precise for cycles I thought we had that automated already
oops, too soon ;) we have:
perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events commit 517e6341fa123ec3a2f9ea78ad547be910529881
Author: Peter Zijlstra <[email protected]> Date: Sat Apr 11 12:16:22 2015 +0200
so i guess it should work.. checking ;-)
jirka
Quoted 18 lines · Jiri Olsa
Quoted 10 lines · Jiri Olsa
Quoted 8 lines · Nikolay Borisov
Hello,
Running perf version 4.4.14.g0cb188d (no modification to the PMU/perf code) I observed that "perf top" counts no cycles and produces no output. After a bit of head scratching and testing I figured that running "perf top -e cycles" actually works whereas the default option is equivalent to running "perf top -e cycles:p". So the latter version seems to not work on my machine.
Quoted 4 lines
hum, I think Core2 has PEBs valid only for instructions not cycles..
I'll check why perf top forcing the precise for cycles I thought we had that automated already
oops, too soon ;) we have:
Quoted 7 lines
perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events commit
517e6341fa123ec3a2f9ea78ad547be910529881Author: Peter Zijlstra <[email protected]> Date: Sat Apr 11 12:16:22 2015 +0200so i guess it should work.. checking ;-)
Any update on that?
Quoted 3 lines
jirka
Quoted 27 lines · Nikolay Borisov
Quoted 24 lines · Jiri Olsa
Quoted 10 lines · Jiri Olsa
Quoted 8 lines · Nikolay Borisov
Hello,
Running perf version 4.4.14.g0cb188d (no modification to the PMU/perf code) I observed that "perf top" counts no cycles and produces no output. After a bit of head scratching and testing I figured that running "perf top -e cycles" actually works whereas the default option is equivalent to running "perf top -e cycles:p". So the latter version seems to not work on my machine.
Quoted 4 lines
hum, I think Core2 has PEBs valid only for instructions not cycles..
I'll check why perf top forcing the precise for cycles I thought we had that automated already
oops, too soon ;) we have:
perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events commit
517e6341fa123ec3a2f9ea78ad547be910529881Author: Peter Zijlstra <[email protected]> Date: Sat Apr 11 12:16:22 2015 +0200
Quoted 3 lines
Quoted 1 line
so i guess it should work.. checking ;-)
Any update on that?
sorry for late response..
I checked on f22 kernel and it's missing the core2 PEBs fix:
1424a09a9e18 perf/x86: fix PEBS issues on Intel Atom/Core2
which was introduced in 4.5.. you should upgrade or include this patch
jirka
Quoted 1 line · Jiri Olsa
On Tue, Jul 26, 2016 at 02:30:46PM +0300, Nikolay Borisov wrote:
[SNIP]
Quoted 9 lines
sorry for late response..
I checked on f22 kernel and it's missing the core2 PEBs fix:
1424a09a9e18perf/x86: fix PEBS issues on Intel Atom/Core2which was introduced in 4.5.. you should upgrade or include this patch
Thanks for the reply. Isn't this supposed to be tagged as stable since it essentially breaks the default invocation of perf top?
Quoted 2 lines
jirka
Quoted 11 lines · Nikolay Borisov
Quoted 1 line · Jiri Olsa
On Tue, Jul 26, 2016 at 02:30:46PM +0300, Nikolay Borisov wrote:
[SNIP]
Quoted 6 lines
sorry for late response..
I checked on f22 kernel and it's missing the core2 PEBs fix:
1424a09a9e18perf/x86: fix PEBS issues on Intel Atom/Core2
Quoted 6 lines
Quoted 3 lines
which was introduced in 4.5.. you should upgrade or include this patch
Thanks for the reply. Isn't this supposed to be tagged as stable since it essentially breaks the default invocation of perf top?
yep, it seems like good one to have in stable, Peter?
thanks,
jirka
Quoted 12 lines · Jiri Olsa
Quoted 11 lines · Nikolay Borisov
Quoted 1 line · Jiri Olsa
On Tue, Jul 26, 2016 at 02:30:46PM +0300, Nikolay Borisov wrote:
[SNIP]
Quoted 6 lines
sorry for late response..
I checked on f22 kernel and it's missing the core2 PEBs fix:
1424a09a9e18perf/x86: fix PEBS issues on Intel Atom/Core2
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
which was introduced in 4.5.. you should upgrade or include this patch
Thanks for the reply. Isn't this supposed to be tagged as stable since it essentially breaks the default invocation of perf top?
yep, it seems like good one to have in stable, Peter?
Greg, could you pick:
1424a09a9e18 ("perf/x86: fix PEBS issues on Intel Atom/Core2")
Into 4.4-stable ?
Quoted 20 lines · Peter Zijlstra
Quoted 19 lines · Jiri Olsa
Quoted 17 lines · Nikolay Borisov
Quoted 1 line · Jiri Olsa
On Tue, Jul 26, 2016 at 02:30:46PM +0300, Nikolay Borisov wrote:
[SNIP]
Quoted 9 lines
sorry for late response..
I checked on f22 kernel and it's missing the core2 PEBs fix:
1424a09a9e18perf/x86: fix PEBS issues on Intel Atom/Core2which was introduced in 4.5.. you should upgrade or include this patch
Thanks for the reply. Isn't this supposed to be tagged as stable since it essentially breaks the default invocation of perf top?
Quoted 7 lines
Quoted 1 line
yep, it seems like good one to have in stable, Peter?
Greg, could you pick:
1424a09a9e18("perf/x86: fix PEBS issues on Intel Atom/Core2")Into 4.4-stable ?
Now queued up, thanks.
greg k-h