Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1447229 > unrolled thread
| Started by | Nikolay Borisov <kernel@kyup.com> |
|---|---|
| First post | 2016-07-20 15:30 +0200 |
| Last post | 2016-07-20 16:40 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
Strange behavior of perf top with PEBS Nikolay Borisov <kernel@kyup.com> - 2016-07-20 15:30 +0200
Re: Strange behavior of perf top with PEBS Nikolay Borisov <kernel@kyup.com> - 2016-07-20 16:40 +0200
Re: Strange behavior of perf top with PEBS Jiri Olsa <jolsa@redhat.com> - 2016-07-20 16:40 +0200
Re: Strange behavior of perf top with PEBS Jiri Olsa <jolsa@redhat.com> - 2016-07-20 16:40 +0200
| From | Nikolay Borisov <kernel@kyup.com> |
|---|---|
| Date | 2016-07-20 15:30 +0200 |
| Subject | Strange behavior of perf top with PEBS |
| Message-ID | <rWZJv-1YB-21@gated-at.bofh.it> |
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 : 0 vendor_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 : yes fpu_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?
[toc] | [next] | [standalone]
| From | Nikolay Borisov <kernel@kyup.com> |
|---|---|
| Date | 2016-07-20 16:40 +0200 |
| Message-ID | <rX0Pf-2Cz-13@gated-at.bofh.it> |
| In reply to | #1447229 |
On 07/20/2016 05:34 PM, Jiri Olsa wrote: > On Wed, Jul 20, 2016 at 04:28:34PM +0300, Nikolay Borisov wrote: >> 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. > > I'll check why perf top forcing the precise for cycles > I thought we had that automated already > > jirka >
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2016-07-20 16:40 +0200 |
| Message-ID | <rX0Pf-2Cz-21@gated-at.bofh.it> |
| In reply to | #1447229 |
On Wed, Jul 20, 2016 at 04:34:17PM +0200, Jiri Olsa wrote: > On Wed, Jul 20, 2016 at 04:28:34PM +0300, Nikolay Borisov wrote: > > 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 oops, too soon ;) we have: perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events commit 517e6341fa123ec3a2f9ea78ad547be910529881 Author: Peter Zijlstra <peterz@infradead.org> Date: Sat Apr 11 12:16:22 2015 +0200 so i guess it should work.. checking ;-) jirka
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2016-07-20 16:40 +0200 |
| Message-ID | <rX0Pf-2Cz-15@gated-at.bofh.it> |
| In reply to | #1447229 |
On Wed, Jul 20, 2016 at 04:28:34PM +0300, Nikolay Borisov wrote: > 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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web