Re: [PATCH] perf/tests: fix record+probe_libc_inet_pton test on aarch64
From: Namhyung Kim
Date: Thu Oct 17 2024 - 18:12:45 EST
Hello,
On Tue, Oct 15, 2024 at 03:53:27PM +0800, Jing Zhang wrote:
> Since commit 1f85d016768f ("perf test record+probe_libc_inet_pton: Fix
> call chain match on x86_64") remove function getaddrinfo() on expected
> file, the test failed on aarch64. On aarch64, function getaddrinfo()
> show up in the call chain.
>
> $perf script -i /tmp/perf.data.1PV
> ping 2588319 [125] 500119.122843: probe_libc:inet_pton: (ffff9a4f7410)
> ffff9a4f7410 __GI___inet_pton+0x0 (/usr/lib64/libc-2.32.so)
> ffff9a4c5f7c getaddrinfo+0xec (/usr/lib64/libc-2.32.so)
> aaaad6d32b38 [unknown] (/usr/bin/ping)
I'm curious how other ARM folks don't see this. Does it depend on
something other? Then can we make the line optional like we did on
s390 recently?
>
> So just remove getaddrinfo() on x86_64.
I'm not sure how it works on other archs.
Thanks,
Namhyung
>
> Fixes: 1f85d016768f ("perf test record+probe_libc_inet_pton: Fix call chain match on x86_64")
> Signed-off-by: Jing Zhang <renyu.zj@xxxxxxxxxxxxxxxxx>
> ---
> tools/perf/tests/shell/record+probe_libc_inet_pton.sh | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> index 47a26f2..09d7b0b 100755
> --- a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> +++ b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> @@ -52,8 +52,12 @@ trace_libc_inet_pton_backtrace() {
> echo "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc\)$" >> $expected
> echo ".*(\+0x[[:xdigit:]]+|\[unknown\])[[:space:]]\(.*/bin/ping.*\)$" >> $expected
> ;;
> + x86_64)
> + eventattr='max-stack=3'
> + echo ".*(\+0x[[:xdigit:]]+|\[unknown\])[[:space:]]\(.*/bin/ping.*\)$" >> $expected
> *)
> eventattr='max-stack=3'
> + echo "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc\)$" >> $expected
> echo ".*(\+0x[[:xdigit:]]+|\[unknown\])[[:space:]]\(.*/bin/ping.*\)$" >> $expected
> ;;
> esac
> --
> 1.8.3.1
>