Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752876AbcD1QOs (ORCPT ); Thu, 28 Apr 2016 12:14:48 -0400 Received: from e28smtp01.in.ibm.com ([125.16.236.1]:36690 "EHLO e28smtp01.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752424AbcD1QOq (ORCPT ); Thu, 28 Apr 2016 12:14:46 -0400 X-IBM-Helo: d28dlp02.in.ibm.com X-IBM-MailFrom: naveen.n.rao@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Date: Thu, 28 Apr 2016 21:44:29 +0530 From: "Naveen N. Rao" To: Arnaldo Carvalho de Melo Cc: Chandan Kumar , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, maddy@linux.vnet.ibm.com, hemant@linux.vnet.ibm.com, anju@linux.vnet.ibm.com, jolsa@redhat.com Subject: Re: [PATCH 0/3] Add support for perf user stack dump in powerpc Message-ID: <20160428161428.GH7880@naverao1-tp.in.ibm.com> References: <1461835870-67778-1-git-send-email-chandan.kumar@linux.vnet.ibm.com> <20160428142341.GD7880@naverao1-tp.in.ibm.com> <20160428152958.GA2730@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160428152958.GA2730@redhat.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16042816-4790-0000-0000-00000F4508A0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3472 Lines: 81 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 > > > > I suppose that implies my testing, but nonetheless: > > Tested-by: Naveen N. Rao > > > > > > > > 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 > > > > 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) > > > > > > > > > > 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 > > Acked-by: Arnaldo Carvalho de Melo > Thanks. - Naveen