On 05/25/2017 10:44 PM, Masami Hiramatsu wrote: > Add a testcase to test kprobes via ftrace interface > with many concurrent kprobe events. > > This tries to add many kprobe events (up to 256) on > kernel functions. To avoid making ftrace-based > kprobes (kprobes on fentry), it skips first N bytes > (on x86 N=5, on ppc or arm N=4) of function entry. > After that, it enables all those events, disable it, > and remove it. > > Since the unoptimization buffer reclaiming will > be delayed, after removing events, it will wait > enough time. > > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Thanks. Applied to linux-kselftest next for 4.13-rc1 -- Shuah > --- > This ensures following bug is fixed and no regression. > > https://lkml.org/lkml/2017/5/25/218 > --- > .../ftrace/test.d/kprobe/multiple_kprobes.tc | 21 ++++++++++++++++++++ > 1 file changed, 21 insertions(+) > create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc > > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc b/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc > new file mode 100644 > index 0000000..f4d1ff7 > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc > @@ -0,0 +1,21 @@ > +#!/bin/sh > +# description: Register/unregister many kprobe events > + > +# ftrace fentry skip size depends on the machine architecture. > +# Currently HAVE_KPROBES_ON_FTRACE defined on x86 and powerpc > +case `uname -m` in > + x86_64|i[3456]86) OFFS=5;; > + ppc*) OFFS=4;; > + *) OFFS=0;; > +esac > + > +echo "Setup up to 256 kprobes" > +grep t /proc/kallsyms | cut -f3 -d" " | grep -v .*\\..* | \ > +head -n 256 | while read i; do echo p ${i}+${OFFS} ; done > kprobe_events ||: > + > +echo 1 > events/kprobes/enable > +echo 0 > events/kprobes/enable > +echo > kprobe_events > +echo "Waiting for unoptimizing & freeing" > +sleep 5 > +echo "Done" > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html