From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752437AbdHNRtI (ORCPT ); Mon, 14 Aug 2017 13:49:08 -0400 Received: from terminus.zytor.com ([65.50.211.136]:35123 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751565AbdHNRtH (ORCPT ); Mon, 14 Aug 2017 13:49:07 -0400 Date: Mon, 14 Aug 2017 10:46:30 -0700 From: tip-bot for Arnaldo Carvalho de Melo Message-ID: Cc: namhyung@kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, acme@redhat.com, tmricht@linux.vnet.ibm.com, hpa@zytor.com, adrian.hunter@intel.com, dsahern@gmail.com, jolsa@kernel.org, mingo@kernel.org, wangnan0@huawei.com, mpetlan@redhat.com Reply-To: tglx@linutronix.de, acme@redhat.com, adrian.hunter@intel.com, tmricht@linux.vnet.ibm.com, hpa@zytor.com, linux-kernel@vger.kernel.org, namhyung@kernel.org, mpetlan@redhat.com, dsahern@gmail.com, mingo@kernel.org, jolsa@kernel.org, wangnan0@huawei.com To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf test shell: Add 'probe_vfs_getname' shell test Git-Commit-ID: a3534842ddd04675abc67e80432aacc01670cca8 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: a3534842ddd04675abc67e80432aacc01670cca8 Gitweb: http://git.kernel.org/tip/a3534842ddd04675abc67e80432aacc01670cca8 Author: Arnaldo Carvalho de Melo AuthorDate: Thu, 3 Aug 2017 16:54:53 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 11 Aug 2017 16:06:28 -0300 perf test shell: Add 'probe_vfs_getname' shell test First perf shell test: # perf test vfs_getname 60: Add vfs_getname probe to get syscall args filenames: Ok # In verbose mode: # perf test -v vfs_getname 60: Add vfs_getname probe to get syscall args filenames: --- start --- test child forked, pid 19146 Added new event: probe:vfs_getname (on getname_flags:72 with pathname=result->name:string) You can now use it in all perf tools, such as: perf record -e probe:vfs_getname -aR sleep 1 test child finished with 0 ---- end ---- Add vfs_getname probe to get syscall args filenames: Ok # And if the vmlinux file is not found: # mv ../build/v4.12.0-rc6+/vmlinux ../build/v4.12.0-rc6+/vmlinux.hidden # perf test vfs_getname 60: Add vfs_getname probe to get syscall args filenames: Skip # Cc: Adrian Hunter Cc: David Ahern Cc: Jiri Olsa Cc: Michael Petlan Cc: Namhyung Kim Cc: Thomas Richter Cc: Wang Nan Link: http://lkml.kernel.org/n/tip-8f3n22c1yn516ev30s603ow2@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/tests/shell/probe_vfs_getname.sh | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tools/perf/tests/shell/probe_vfs_getname.sh b/tools/perf/tests/shell/probe_vfs_getname.sh new file mode 100755 index 0000000..d5f5248 --- /dev/null +++ b/tools/perf/tests/shell/probe_vfs_getname.sh @@ -0,0 +1,30 @@ +# Add vfs_getname probe to get syscall args filenames +# +# Arnaldo Carvalho de Melo , 2017 + +perf probe -l | grep -q probe:vfs_getname +had_vfs_getname=$? + +cleanup_probe_vfs_getname() { + if [ $had_vfs_getname -eq 1 ] ; then + perf probe -q -d probe:vfs_getname + fi +} + +add_probe_vfs_getname() { + local verbose=$1 + if [ $had_vfs_getname -eq 1 ] ; then + line=$(perf probe -L getname_flags | egrep 'result.*=.*filename;' | sed -r 's/[[:space:]]+([[:digit:]]+)[[:space:]]+result->uptr.*/\1/') + perf probe $verbose "vfs_getname=getname_flags:${line} pathname=result->name:string" + fi +} + +skip_if_no_debuginfo() { + add_probe_vfs_getname -v 2>&1 | grep -q "^Failed to find the path for kernel" && return 2 + return 1 +} + +add_probe_vfs_getname || skip_if_no_debuginfo +err=$? +cleanup_probe_vfs_getname +exit $err