diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-08-04 13:18:29 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-08-11 15:06:29 -0400 |
commit | 5ce669a59503f7c05c4648c70fe72bbe42613743 (patch) | |
tree | 849f2b2df729bb0ba420bf0beeb71f1e6f8035c4 | |
parent | 122e0b947052f6106595fa29d63d514d2ebcdad9 (diff) |
perf test shell: Move vfs_getname probe function to lib
Multiple tests will be able to reuse these functions, to test things
like perf report, 'trace', etc, using this probe.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-48xagvozhouhyi8fjota6o2d@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/Makefile.perf | 4 | ||||
-rw-r--r-- | tools/perf/tests/shell/lib/probe_vfs_getname.sh | 28 | ||||
-rwxr-xr-x | tools/perf/tests/shell/probe_vfs_getname.sh | 22 |
3 files changed, 32 insertions, 22 deletions
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index eb1356774c7d..70ddc65f898d 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf | |||
@@ -762,7 +762,9 @@ install-tests: all install-gtk | |||
762 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'; \ | 762 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'; \ |
763 | $(INSTALL) tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'; \ | 763 | $(INSTALL) tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'; \ |
764 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell'; \ | 764 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell'; \ |
765 | $(INSTALL) tests/shell/*.sh '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell' | 765 | $(INSTALL) tests/shell/*.sh '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell'; \ |
766 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell/lib'; \ | ||
767 | $(INSTALL) tests/shell/lib/*.sh '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell/lib' | ||
766 | 768 | ||
767 | install-bin: install-tools install-tests install-traceevent-plugins | 769 | install-bin: install-tools install-tests install-traceevent-plugins |
768 | 770 | ||
diff --git a/tools/perf/tests/shell/lib/probe_vfs_getname.sh b/tools/perf/tests/shell/lib/probe_vfs_getname.sh new file mode 100644 index 000000000000..42308040f882 --- /dev/null +++ b/tools/perf/tests/shell/lib/probe_vfs_getname.sh | |||
@@ -0,0 +1,28 @@ | |||
1 | # Arnaldo Carvalho de Melo <acme@kernel.org>, 2017 | ||
2 | |||
3 | perf probe -l | grep -q probe:vfs_getname | ||
4 | had_vfs_getname=$? | ||
5 | |||
6 | cleanup_probe_vfs_getname() { | ||
7 | if [ $had_vfs_getname -eq 1 ] ; then | ||
8 | perf probe -q -d probe:vfs_getname | ||
9 | fi | ||
10 | } | ||
11 | |||
12 | add_probe_vfs_getname() { | ||
13 | local verbose=$1 | ||
14 | if [ $had_vfs_getname -eq 1 ] ; then | ||
15 | line=$(perf probe -L getname_flags | egrep 'result.*=.*filename;' | sed -r 's/[[:space:]]+([[:digit:]]+)[[:space:]]+result->uptr.*/\1/') | ||
16 | perf probe $verbose "vfs_getname=getname_flags:${line} pathname=result->name:string" | ||
17 | fi | ||
18 | } | ||
19 | |||
20 | skip_if_no_debuginfo() { | ||
21 | add_probe_vfs_getname -v 2>&1 | grep -q "^Failed to find the path for kernel" && return 2 | ||
22 | return 1 | ||
23 | } | ||
24 | |||
25 | skip_if_no_debuginfo() { | ||
26 | add_probe_vfs_getname -v 2>&1 | grep -q "^Failed to find the path for kernel" && return 2 | ||
27 | return 1 | ||
28 | } | ||
diff --git a/tools/perf/tests/shell/probe_vfs_getname.sh b/tools/perf/tests/shell/probe_vfs_getname.sh index d5f5248de927..c8380137beef 100755 --- a/tools/perf/tests/shell/probe_vfs_getname.sh +++ b/tools/perf/tests/shell/probe_vfs_getname.sh | |||
@@ -2,27 +2,7 @@ | |||
2 | # | 2 | # |
3 | # Arnaldo Carvalho de Melo <acme@kernel.org>, 2017 | 3 | # Arnaldo Carvalho de Melo <acme@kernel.org>, 2017 |
4 | 4 | ||
5 | perf probe -l | grep -q probe:vfs_getname | 5 | . $(dirname $0)/lib/probe_vfs_getname.sh |
6 | had_vfs_getname=$? | ||
7 | |||
8 | cleanup_probe_vfs_getname() { | ||
9 | if [ $had_vfs_getname -eq 1 ] ; then | ||
10 | perf probe -q -d probe:vfs_getname | ||
11 | fi | ||
12 | } | ||
13 | |||
14 | add_probe_vfs_getname() { | ||
15 | local verbose=$1 | ||
16 | if [ $had_vfs_getname -eq 1 ] ; then | ||
17 | line=$(perf probe -L getname_flags | egrep 'result.*=.*filename;' | sed -r 's/[[:space:]]+([[:digit:]]+)[[:space:]]+result->uptr.*/\1/') | ||
18 | perf probe $verbose "vfs_getname=getname_flags:${line} pathname=result->name:string" | ||
19 | fi | ||
20 | } | ||
21 | |||
22 | skip_if_no_debuginfo() { | ||
23 | add_probe_vfs_getname -v 2>&1 | grep -q "^Failed to find the path for kernel" && return 2 | ||
24 | return 1 | ||
25 | } | ||
26 | 6 | ||
27 | add_probe_vfs_getname || skip_if_no_debuginfo | 7 | add_probe_vfs_getname || skip_if_no_debuginfo |
28 | err=$? | 8 | err=$? |