Messages in this thread | | | Date | Tue, 18 Aug 2015 12:09:47 +0300 | From | Adrian Hunter <> | Subject | Re: [PATCH V8 08/25] perf tools: Add Intel BTS support |
| |
On 18/08/15 09:39, Adrian Hunter wrote: > On 17/08/15 22:58, Arnaldo Carvalho de Melo wrote: >> Em Mon, Aug 17, 2015 at 10:09:26PM +0300, Adrian Hunter escreveu: >>> On 17/08/2015 8:58 p.m., Arnaldo Carvalho de Melo wrote: >>>> Em Mon, Aug 17, 2015 at 08:43:09PM +0300, Adrian Hunter escreveu: >>>>> On 17/08/2015 6:52 p.m., Arnaldo Carvalho de Melo wrote: >>>>>> 1.92% usleep [unknown] [.] 0x00007fa0ff695086 >>>>>> 1.60% usleep [unknown] [.] 0xffffffff811c91d0 >>>>>> 1.48% usleep [unknown] [.] 0x00007fa0ffb3030d >>>>>> 1.24% usleep [unknown] [.] 0x00007fa0ff6950c7 >>>> >>>>> It is very weird that it doesn't know the dso. >>>> >>>>> I presume there is nothing unusual about the environment e.g. in a chroot or anything >>>> >>>>> What if you try a different event e.g. perf record --per-thread -e cycles sleep 1 >>>> >>>> [root@zoo ~]# perf record --per-thread -e cycles sleep 1 >>>> [ perf record: Woken up 1 times to write data ] >>>> [ perf record: Captured and wrote 0.014 MB perf.data (9 samples) ] >>>> [root@zoo ~]# perf report | grep -v ^# | head -5 >>>> 42.57% sleep libc-2.20.so [.] malloc_hook_ini >>>> 41.81% sleep [kernel.vmlinux] [k] filemap_fault >>>> 14.35% sleep [kernel.vmlinux] [k] flush_tlb_mm_range >>>> 1.18% sleep [kernel.vmlinux] [k] strlcpy >>>> 0.09% sleep [kernel.vmlinux] [k] native_write_msr_safe >>>> [root@zoo ~]# >>>> >>>> [root@zoo ~]# perf report --dsos libc-2.20.so | grep -v '^[#]' >>>> 42.57% sleep [.] malloc_hook_ini >>>> >>>> [root@zoo ~]# >>>> >>>> [root@zoo ~]# perf record --per-thread -e intel_bts// usleep 1 >>>> [ perf record: Woken up 1 times to write data ] >>>> [ perf record: Captured and wrote 1.825 MB perf.data ] >>>> [root@zoo ~]# perf report | grep -v ^# | head -5 >>>> Warning: >>>> 79074 instruction trace errors >>>> 2.80% usleep [unknown] [.] 0x00007f48888aa061 >>>> [root@zoo ~]# >>> >>> Running out of ideas. Can you somehow share or send me the offending perf.data file? >> >> http://vger.kernel.org/~acme/perf/perf.data.intel_bts-4.2.0-rc5+.xz > > Says: You don't have permission to access > /~acme/perf/perf.data.intel_bts-4.2.0-rc5+.xz on this server. > >> >> It works if I use a tip/master kernel: >> >> [root@perf4 ~]# uname -r >> 4.2.0-rc7+ >> [root@perf4 ~]# uname -r >> 4.2.0-rc7+ >> [root@perf4 ~]# perf record --per-thread -e intel_bts// usleep 1 >> [ perf record: Woken up 1 times to write data ] >> [ perf record: Captured and wrote 1.785 MB perf.data ] >> [root@perf4 ~]# dmesg | grep Performance >> [ 0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell >> events, full-width counters, Intel PMU driver. >> [root@perf4 ~]# perf report --stdio | grep -v ^# | head -10 >> >> >> >> >> 10.81% usleep libc-2.17.so [.] _dl_addr >> 6.56% usleep [kernel.kallsyms] [.] unmap_single_vma >> 3.33% usleep ld-2.17.so [.] strcmp >> 2.53% usleep [kernel.kallsyms] [.] mem_cgroup_begin_page_stat >> 2.49% usleep ld-2.17.so [.] _dl_lookup_symbol_x >> 2.39% usleep ld-2.17.so [.] _dl_relocate_object >> [root@perf4 ~]# >> >> Probably some fix for the kernel driver is missing? > > Works for me though.
I looked at the code and noticed a minor issue, but I don't think it is the cause of the problem. I sent a fix - see "perf tools: Fix use of wrong event when processing exit events"
| |