* [PATCH] perf test shell: trace+probe_libc_inet_pton.sh: be compatible with debian/ubuntu
@ 2017-10-18 8:34 Li Zhijian
2017-10-18 12:20 ` Arnaldo Carvalho de Melo
2017-10-20 7:21 ` [tip:perf/urgent] perf test shell trace+probe_libc_inet_pton.sh: Be compatible with Debian/Ubuntu tip-bot for Li Zhijian
0 siblings, 2 replies; 3+ messages in thread
From: Li Zhijian @ 2017-10-18 8:34 UTC (permalink / raw)
To: linux-kernel, peterz, mingo, acme, alexander.shishkin,
kim.phillips
Cc: philip.li, Li Zhijian
at debian/ubuntu, libc.so is located at /lib/x86_64-linux-gnu/libc-2.23.so
it outputs like when testing:
---------------
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.040 ms
--- ::1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms
0.000 probe_libc:inet_pton:(7f0e2db741c0))
__GI___inet_pton (/lib/x86_64-linux-gnu/libc-2.23.so)
getaddrinfo (/lib/x86_64-linux-gnu/libc-2.23.so)
[0xffffa9d40f34ff4d] (/bin/ping)
---------------
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
tools/perf/tests/shell/trace+probe_libc_inet_pton.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
index 462fc75..7a84d73 100755
--- a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
+++ b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
@@ -10,6 +10,9 @@
. $(dirname $0)/lib/probe.sh
+ld=$(realpath /lib64/ld*.so.* | uniq)
+libc=$(echo $ld | sed 's/ld/libc/g')
+
trace_libc_inet_pton_backtrace() {
idx=0
expected[0]="PING.*bytes"
@@ -18,8 +21,8 @@ trace_libc_inet_pton_backtrace() {
expected[3]=".*packets transmitted.*"
expected[4]="rtt min.*"
expected[5]="[0-9]+\.[0-9]+[[:space:]]+probe_libc:inet_pton:\([[:xdigit:]]+\)"
- expected[6]=".*inet_pton[[:space:]]\(/usr/lib.*/libc-[0-9]+\.[0-9]+\.so\)$"
- expected[7]="getaddrinfo[[:space:]]\(/usr/lib.*/libc-[0-9]+\.[0-9]+\.so\)$"
+ expected[6]=".*inet_pton[[:space:]]\($libc\)$"
+ expected[7]="getaddrinfo[[:space:]]\($libc\)$"
expected[8]=".*\(.*/bin/ping.*\)$"
perf trace --no-syscalls -e probe_libc:inet_pton/max-stack=3/ ping -6 -c 1 ::1 2>&1 | grep -v ^$ | while read line ; do
@@ -35,7 +38,7 @@ trace_libc_inet_pton_backtrace() {
}
skip_if_no_perf_probe && \
-perf probe -q /lib64/libc-*.so inet_pton && \
+perf probe -q $libc inet_pton && \
trace_libc_inet_pton_backtrace
err=$?
rm -f ${file}
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] perf test shell: trace+probe_libc_inet_pton.sh: be compatible with debian/ubuntu
2017-10-18 8:34 [PATCH] perf test shell: trace+probe_libc_inet_pton.sh: be compatible with debian/ubuntu Li Zhijian
@ 2017-10-18 12:20 ` Arnaldo Carvalho de Melo
2017-10-20 7:21 ` [tip:perf/urgent] perf test shell trace+probe_libc_inet_pton.sh: Be compatible with Debian/Ubuntu tip-bot for Li Zhijian
1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-10-18 12:20 UTC (permalink / raw)
To: Li Zhijian
Cc: linux-kernel, peterz, mingo, alexander.shishkin, kim.phillips,
philip.li
Em Wed, Oct 18, 2017 at 04:34:09PM +0800, Li Zhijian escreveu:
> at debian/ubuntu, libc.so is located at /lib/x86_64-linux-gnu/libc-2.23.so
> it outputs like when testing:
> ---------------
Thanks, tested and applied.
- Arnaldo
> PING ::1(::1) 56 data bytes
> 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.040 ms
>
> --- ::1 ping statistics ---
> 1 packets transmitted, 1 received, 0% packet loss, time 0ms
> rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms
> 0.000 probe_libc:inet_pton:(7f0e2db741c0))
> __GI___inet_pton (/lib/x86_64-linux-gnu/libc-2.23.so)
> getaddrinfo (/lib/x86_64-linux-gnu/libc-2.23.so)
> [0xffffa9d40f34ff4d] (/bin/ping)
> ---------------
>
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> ---
> tools/perf/tests/shell/trace+probe_libc_inet_pton.sh | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
> index 462fc75..7a84d73 100755
> --- a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
> +++ b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
> @@ -10,6 +10,9 @@
>
> . $(dirname $0)/lib/probe.sh
>
> +ld=$(realpath /lib64/ld*.so.* | uniq)
> +libc=$(echo $ld | sed 's/ld/libc/g')
> +
> trace_libc_inet_pton_backtrace() {
> idx=0
> expected[0]="PING.*bytes"
> @@ -18,8 +21,8 @@ trace_libc_inet_pton_backtrace() {
> expected[3]=".*packets transmitted.*"
> expected[4]="rtt min.*"
> expected[5]="[0-9]+\.[0-9]+[[:space:]]+probe_libc:inet_pton:\([[:xdigit:]]+\)"
> - expected[6]=".*inet_pton[[:space:]]\(/usr/lib.*/libc-[0-9]+\.[0-9]+\.so\)$"
> - expected[7]="getaddrinfo[[:space:]]\(/usr/lib.*/libc-[0-9]+\.[0-9]+\.so\)$"
> + expected[6]=".*inet_pton[[:space:]]\($libc\)$"
> + expected[7]="getaddrinfo[[:space:]]\($libc\)$"
> expected[8]=".*\(.*/bin/ping.*\)$"
>
> perf trace --no-syscalls -e probe_libc:inet_pton/max-stack=3/ ping -6 -c 1 ::1 2>&1 | grep -v ^$ | while read line ; do
> @@ -35,7 +38,7 @@ trace_libc_inet_pton_backtrace() {
> }
>
> skip_if_no_perf_probe && \
> -perf probe -q /lib64/libc-*.so inet_pton && \
> +perf probe -q $libc inet_pton && \
> trace_libc_inet_pton_backtrace
> err=$?
> rm -f ${file}
> --
> 2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread
* [tip:perf/urgent] perf test shell trace+probe_libc_inet_pton.sh: Be compatible with Debian/Ubuntu
2017-10-18 8:34 [PATCH] perf test shell: trace+probe_libc_inet_pton.sh: be compatible with debian/ubuntu Li Zhijian
2017-10-18 12:20 ` Arnaldo Carvalho de Melo
@ 2017-10-20 7:21 ` tip-bot for Li Zhijian
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Li Zhijian @ 2017-10-20 7:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: alexander.shishkin, mingo, linux-kernel, tglx, philip.li, acme,
hpa, kim.phillips, lizhijian, peterz
Commit-ID: 74f8e22c153f4464060a0c2e4cfd1d6e51af2109
Gitweb: https://git.kernel.org/tip/74f8e22c153f4464060a0c2e4cfd1d6e51af2109
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
AuthorDate: Wed, 18 Oct 2017 16:34:09 +0800
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 18 Oct 2017 09:14:18 -0300
perf test shell trace+probe_libc_inet_pton.sh: Be compatible with Debian/Ubuntu
In debian/ubuntu, libc.so is located at a different place,
/lib/x86_64-linux-gnu/libc-2.23.so, so it outputs like this when testing:
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.040 ms
--- ::1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms
0.000 probe_libc:inet_pton:(7f0e2db741c0))
__GI___inet_pton (/lib/x86_64-linux-gnu/libc-2.23.so)
getaddrinfo (/lib/x86_64-linux-gnu/libc-2.23.so)
[0xffffa9d40f34ff4d] (/bin/ping)
Fix up the libc path to make sure this test works in more OSes.
Committer testing:
When this test fails one can use 'perf test -v', i.e. in verbose mode, where
it'll show the expected backtrace, so, after applying this test:
On Fedora 26:
# perf test -v ping
62: probe libc's inet_pton & backtrace it with ping :
--- start ---
test child forked, pid 23322
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.058 ms
--- ::1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.058/0.058/0.058/0.000 ms
0.000 probe_libc:inet_pton:(7fe344310d80))
__GI___inet_pton (/usr/lib64/libc-2.25.so)
getaddrinfo (/usr/lib64/libc-2.25.so)
_init (/usr/bin/ping)
test child finished with 0
---- end ----
probe libc's inet_pton & backtrace it with ping: Ok
#
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Kim Phillips <kim.phillips@arm.com>
Cc: Li Zhijian <lizhijian@cn.fujitsu.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Philip Li <philip.li@intel.com>
Link: http://lkml.kernel.org/r/1508315649-18836-1-git-send-email-lizhijian@cn.fujitsu.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/shell/trace+probe_libc_inet_pton.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
index 462fc75..7a84d73 100755
--- a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
+++ b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
@@ -10,6 +10,9 @@
. $(dirname $0)/lib/probe.sh
+ld=$(realpath /lib64/ld*.so.* | uniq)
+libc=$(echo $ld | sed 's/ld/libc/g')
+
trace_libc_inet_pton_backtrace() {
idx=0
expected[0]="PING.*bytes"
@@ -18,8 +21,8 @@ trace_libc_inet_pton_backtrace() {
expected[3]=".*packets transmitted.*"
expected[4]="rtt min.*"
expected[5]="[0-9]+\.[0-9]+[[:space:]]+probe_libc:inet_pton:\([[:xdigit:]]+\)"
- expected[6]=".*inet_pton[[:space:]]\(/usr/lib.*/libc-[0-9]+\.[0-9]+\.so\)$"
- expected[7]="getaddrinfo[[:space:]]\(/usr/lib.*/libc-[0-9]+\.[0-9]+\.so\)$"
+ expected[6]=".*inet_pton[[:space:]]\($libc\)$"
+ expected[7]="getaddrinfo[[:space:]]\($libc\)$"
expected[8]=".*\(.*/bin/ping.*\)$"
perf trace --no-syscalls -e probe_libc:inet_pton/max-stack=3/ ping -6 -c 1 ::1 2>&1 | grep -v ^$ | while read line ; do
@@ -35,7 +38,7 @@ trace_libc_inet_pton_backtrace() {
}
skip_if_no_perf_probe && \
-perf probe -q /lib64/libc-*.so inet_pton && \
+perf probe -q $libc inet_pton && \
trace_libc_inet_pton_backtrace
err=$?
rm -f ${file}
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-10-20 7:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-18 8:34 [PATCH] perf test shell: trace+probe_libc_inet_pton.sh: be compatible with debian/ubuntu Li Zhijian
2017-10-18 12:20 ` Arnaldo Carvalho de Melo
2017-10-20 7:21 ` [tip:perf/urgent] perf test shell trace+probe_libc_inet_pton.sh: Be compatible with Debian/Ubuntu tip-bot for Li Zhijian
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.