On Fri, 28 Apr 2023 22:08:42 +0530 Akanksha J N <akanksha@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx> Thanks! This looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> > --- > .../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@xxxxxxxxxx>