Messages in this thread | | | Date | Fri, 19 Nov 2021 23:09:36 +0900 | From | Masami Hiramatsu <> | Subject | Re: [RFC][PATCH v5 3/4] trace/objtrace: Add testcases for objtrace trigger parsing |
| |
On Sat, 13 Nov 2021 20:06:31 +0800 Jeff Xie <xiehuan09@gmail.com> wrote:
Please add a patch description here.
> Signed-off-by: Jeff Xie <xiehuan09@gmail.com> > --- > .../ftrace/test.d/trigger/trigger-objtrace.tc | 41 +++++++++++++++++++ > 1 file changed, 41 insertions(+) > create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/trigger-objtrace.tc > > diff --git a/tools/testing/selftests/ftrace/test.d/trigger/trigger-objtrace.tc b/tools/testing/selftests/ftrace/test.d/trigger/trigger-objtrace.tc > new file mode 100644 > index 000000000000..4efcd7eee694 > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/trigger/trigger-objtrace.tc > @@ -0,0 +1,41 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0 > +# description: event trigger - test objtrace-trigger > +# requires: kprobe_events
Hmm, didn't you add something for this in <tracefs>/README? Instead of checking trigger file, I recommend to update
There is a text data in the kernel/trace/trace.c; static const char readme_msg[] = ... "\t trigger: traceon, traceoff\n" "\t enable_event:<system>:<event>\n" "\t disable_event:<system>:<event>\n" #ifdef CONFIG_HIST_TRIGGERS "\t enable_hist:<system>:<event>\n" "\t disable_hist:<system>:<event>\n" #endif
You can add somewhere near there as
#ifdef CONFIG_TRACE_OBJECT "\t objtrace:add:..." // fill syntax. #endif
And then, you can write the pattern in the requires line, like
# requires: kprobe_events "objtrace":README
Thank you,
> + > +fail() { #msg > + echo $1 > + exit_fail > +} > + > +echo 'p bio_add_page arg1=$arg1' > kprobe_events > + > +FEATURE=`grep objtrace events/kprobes/p_bio_add_page_0/trigger` > +if [ -z "$FEATURE" ]; then > + echo "objtrace trigger is not supported" > + exit_unsupported > +fi
> + > +echo "Test objtrace trigger" > +echo 'objtrace:add:0x28(arg1):u32:1 if comm == "cat"' > \ > + events/kprobes/p_bio_add_page_0/trigger > +if [ -z $? ]; then > + fail "objtrace trigger syntax error" > +fi > + > +echo "Test objtrace semantic errors" > + > +# Being lack of type size > +! echo 'objtrace:add:0x28(arg1):1' > events/kprobes/p_bio_add_page_0/trigger > +# Being lack of objtrace command > +! echo 'objtrace:0x28(arg1):u32:1' > events/kprobes/p_bio_add_page_0/trigger > +# Bad parameter name > +! echo 'objtrace:add:argx:u32:1' > events/kprobes/p_bio_add_page_0/trigger > + > +echo "reset objtrace trigger" > + > +echo '!objtrace:add:0x28(arg1):u32' > \ > + events/kprobes/p_bio_add_page_0/trigger > +echo '-:p_bio_add_page_0' >> ./kprobe_events > + > +exit 0 > -- > 2.25.1 >
-- Masami Hiramatsu <mhiramat@kernel.org>
| |