Message ID | 20230428163842.95118-3-akanksha@linux.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 5985329c7073924afc19132456d212e1e8b57b1f |
Delegated to: | Masami Hiramatsu |
Headers | show |
Series | selftests/ftrace: Add tests for kprobes and optimized probes | expand |
On Fri, 28 Apr 2023 22:08:42 +0530 Akanksha J N <akanksha@linux.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@linux.ibm.com> Thanks! This looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.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 >
On 4/29/23 19:52, Masami Hiramatsu (Google) wrote: > On Fri, 28 Apr 2023 22:08:42 +0530 > Akanksha J N <akanksha@linux.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@linux.ibm.com> > > Thanks! This looks good to me. > > Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > Would you like this patch to go through kselftest tree? If not here is my Ack: Acked-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
On Mon, 8 May 2023 11:36:28 -0600 Shuah Khan <skhan@linuxfoundation.org> wrote: > > Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > > > > 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) <rostedt@goodmis.org> -- Steve
On 5/12/23 16:15, Steven Rostedt wrote: > On Mon, 8 May 2023 11:36:28 -0600 > Shuah Khan <skhan@linuxfoundation.org> wrote: > >>> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> >>> >> >> 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) <rostedt@goodmis.org> > Applied to linux-kselftest next for 6.5-rc1 thanks, -- Shuah
On Wed, 17 May 2023 10:26:43 -0600 Shuah Khan <skhan@linuxfoundation.org> wrote: > On 5/12/23 16:15, Steven Rostedt wrote: > > On Mon, 8 May 2023 11:36:28 -0600 > > Shuah Khan <skhan@linuxfoundation.org> wrote: > > > >>> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > >>> > >> > >> 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) <rostedt@goodmis.org> > > > > Applied to linux-kselftest next for 6.5-rc1 Thank you Shuah! > > thanks, > -- Shuah >
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
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@linux.ibm.com> --- .../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