[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230430105231.2e7f5bd8a3f879d2330485d2@kernel.org>
Date: Sun, 30 Apr 2023 10:52:31 +0900
From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
To: Akanksha J N <akanksha@...ux.ibm.com>
Cc: linux-kselftest@...r.kernel.org,
linux-trace-kernel@...r.kernel.org, linux-kernel@...r.kernel.org,
rostedt@...dmis.org, mhiramat@...nel.org, shuah@...nel.org,
naveen.n.rao@...ux.ibm.com
Subject: Re: [PATCH v3 2/2] selftests/ftrace: Add new test case which checks
for optimized probes
On Fri, 28 Apr 2023 22:08:42 +0530
Akanksha J N <akanksha@...ux.ibm.com> wrote:
> Add new test case kprobe_opt_types.tc which enables and checks
> if each probe has been optimized in order to test potential issues with
> optimized probes.
> The '|| continue' is added with the echo statement to ignore errors that
> are caused by trying to add kprobes to non probeable lines and continue
> with the test.
>
> Signed-off-by: Akanksha J N <akanksha@...ux.ibm.com>
Thanks! This looks good to me.
Acked-by: Masami Hiramatsu (Google) <mhiramat@...nel.org>
> ---
> .../ftrace/test.d/kprobe/kprobe_opt_types.tc | 34 +++++++++++++++++++
> 1 file changed, 34 insertions(+)
> create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_opt_types.tc
>
> diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_opt_types.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_opt_types.tc
> new file mode 100644
> index 000000000000..9f5d99328086
> --- /dev/null
> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_opt_types.tc
> @@ -0,0 +1,34 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +# Copyright (C) 2023 Akanksha J N, IBM corporation
> +# description: Register/unregister optimized probe
> +# requires: kprobe_events
> +
> +case `uname -m` in
> +x86_64)
> +;;
> +arm*)
> +;;
> +ppc*)
> +;;
> +*)
> + echo "Please implement other architecture here"
> + exit_unsupported
> +esac
> +
> +DEFAULT=$(cat /proc/sys/debug/kprobes-optimization)
> +echo 1 > /proc/sys/debug/kprobes-optimization
> +for i in `seq 0 255`; do
> + echo "p:testprobe $FUNCTION_FORK+${i}" > kprobe_events || continue
> + echo 1 > events/kprobes/enable || continue
> + (echo "forked")
> + PROBE=$(grep $FUNCTION_FORK /sys/kernel/debug/kprobes/list)
> + echo 0 > events/kprobes/enable
> + echo > kprobe_events
> + if echo $PROBE | grep -q OPTIMIZED; then
> + echo "$DEFAULT" > /proc/sys/debug/kprobes-optimization
> + exit_pass
> + fi
> +done
> +echo "$DEFAULT" > /proc/sys/debug/kprobes-optimization
> +exit_unresolved
> --
> 2.31.1
>
--
Masami Hiramatsu (Google) <mhiramat@...nel.org>
Powered by blists - more mailing lists