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 <[email protected]>
---
.../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
On Fri, 28 Apr 2023 22:08:42 +0530
Akanksha J N <[email protected]> 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 <[email protected]>
Thanks! This looks good to me.
Acked-by: Masami Hiramatsu (Google) <[email protected]>
> ---
> .../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) <[email protected]>
On 4/29/23 19:52, Masami Hiramatsu (Google) wrote:
> On Fri, 28 Apr 2023 22:08:42 +0530
> Akanksha J N <[email protected]> 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 <[email protected]>
>
> Thanks! This looks good to me.
>
> Acked-by: Masami Hiramatsu (Google) <[email protected]>
>
Would you like this patch to go through kselftest tree?
If not here is my Ack:
Acked-by: Shuah Khan <[email protected]>
thanks,
-- Shuah
On Mon, 8 May 2023 11:36:28 -0600
Shuah Khan <[email protected]> wrote:
> > Acked-by: Masami Hiramatsu (Google) <[email protected]>
> >
>
> Would you like this patch to go through kselftest tree?
Shuah, you can take it through your kselftest tree.
Thanks!
Acked-by: Steven Rostedt (Google) <[email protected]>
-- Steve
On 5/12/23 16:15, Steven Rostedt wrote:
> On Mon, 8 May 2023 11:36:28 -0600
> Shuah Khan <[email protected]> wrote:
>
>>> Acked-by: Masami Hiramatsu (Google) <[email protected]>
>>>
>>
>> Would you like this patch to go through kselftest tree?
>
> Shuah, you can take it through your kselftest tree.
>
> Thanks!
>
> Acked-by: Steven Rostedt (Google) <[email protected]>
>
Applied to linux-kselftest next for 6.5-rc1
thanks,
-- Shuah
On Wed, 17 May 2023 10:26:43 -0600
Shuah Khan <[email protected]> wrote:
> On 5/12/23 16:15, Steven Rostedt wrote:
> > On Mon, 8 May 2023 11:36:28 -0600
> > Shuah Khan <[email protected]> wrote:
> >
> >>> Acked-by: Masami Hiramatsu (Google) <[email protected]>
> >>>
> >>
> >> Would you like this patch to go through kselftest tree?
> >
> > Shuah, you can take it through your kselftest tree.
> >
> > Thanks!
> >
> > Acked-by: Steven Rostedt (Google) <[email protected]>
> >
>
> Applied to linux-kselftest next for 6.5-rc1
Thank you Shuah!
>
> thanks,
> -- Shuah
>
--
Masami Hiramatsu (Google) <[email protected]>