Re: [PATCH] perf test shell: trace+probe_libc_inet_pton.sh: be compatible with debian/ubuntu

From: Arnaldo Carvalho de Melo
Date: Wed Oct 18 2017 - 08:20:25 EST


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