[PATCH 0/3] Add support for perf user stack dump in powerpc

Arnaldo Carvalho de Melo acme at redhat.com
Fri Apr 29 02:31:24 AEST 2016


Em Thu, Apr 28, 2016 at 09:44:29PM +0530, Naveen N. Rao escreveu:
> On 2016/04/28 12:29PM, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Apr 28, 2016 at 07:53:41PM +0530, Naveen N. Rao escreveu:
> > > On 2016/04/28 03:01PM, Chandan Kumar wrote:
> > > > This patch set enables perf user stack dump on powerpc
> > > 
> > > For this patch-set:
> > > Reviewed-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
> > > 
> > > I suppose that implies my testing, but nonetheless:
> > > Tested-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
> > > 
> > > > 
> > > > Example with "ls" command as user program
> > > > ./perf record --call-graph=dwarf,8192 ls
> > > > 
> > > > ./perf script
> > > > ---------8< -----
> > > > ..
> > > > ...
> > > > perf 12549 75938.934539:       1771 cycles:ppp: 
> > > >                   210d90 .perf_event_exec (/boot/vmlinux)
> > > >                   34b914 .load_elf_binary (/boot/vmlinux)
> > > >                   2dcabc .search_binary_handler (/boot/vmlinux)
> > > >                   2dd6f0 .do_execveat_common.isra.28 (/boot/vmlinux)
> > > >                   2ddcd8 .sys_execve (/boot/vmlinux)
> > > >                    19258 system_call (/boot/vmlinux)
> > > 
> > > To expand on this, with upstream libunwind 
> > > (git://git.sv.gnu.org/libunwind.git) and with debuginfo installed:
> > > 
> > > # ./perf record -e cycles -g --call-graph dwarf -- find . -iname
> > > '*linux*'
> > >  ./tests/vmlinux-kallsyms.c
> > > ./tests/vmlinux-kallsyms.o
> > > ./tests/.vmlinux-kallsyms.o.cmd
> > > ./util/include/linux
> > > [ perf record: Woken up 2 times to write data ]
> > > [ perf record: Captured and wrote 0.371 MB perf.data (45 samples) ]
> > > # ./perf script
> > > <snip>
> > > find 23858 167788.657182:     881967 cycles: 
> > >                   8e758c _cond_resched (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >                   3f83bc selinux_inode_getattr (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >                   3ee254 security_inode_getattr (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >                   3063a4 vfs_getattr (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >                   306530 vfs_fstatat (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >                   306c60 sys_newfstatat (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >                    19210 system_call (/lib/modules/4.6.0-rc3-nnr+/build/vmlinux)
> > >             3fffa31829a8 __fxstatat64 (/usr/lib64/libc-2.17.so)
> > >                 10025ac8 fts_stat.isra.2 (/usr/bin/find)
> > >                 10027c04 fts_read (/usr/bin/find)
> > >                 10003e18 find (/usr/bin/find)
> > >                 100035ec main (/usr/bin/find)
> > >             3fffa30a4580 generic_start_main.isra.0 (/usr/lib64/libc-2.17.so)
> > >             3fffa30a4774 __libc_start_main (/usr/lib64/libc-2.17.so)
> > > 
> > > <snip>
> > > 
> > > 
> > > Arnaldo, Michael,
> > > Can we take this through powerpc/next as well since this pretty much 
> > > rides on the recent perf regs work?
> > 
> > I haven't tested with the bits that touch the common code, have you? But
> > I think it should be harmless and overall this patchset looks fine, so,
> > if you, just in case, have tested this on a x86_64 machine and all seems
> > well, i.e. perf test, perf record/report with a perf-probe generated
> > event, to exercise this stuff, then:
> 
> Yes, I processed a perf.data file that had the user stackdump unwound 
> with libunwind with/without patch 3 and the output matches. And:
> 
> # ./perf test 46
> 46: Test dwarf unwind                                        : Ok

Ok then,
 
Acked-by: Arnaldo Carvalho de Melo <acme at redhat.com>


More information about the Linuxppc-dev mailing list