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

From: Naveen N. Rao
Date: Thu Apr 28 2016 - 10:24:07 EST


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@xxxxxxxxxxxxxxxxxx>

I suppose that implies my testing, but nonetheless:
Tested-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>

>
> 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?

- Naveen