Message ID | 20221219183214.075559302@goodmis.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 7f09d639b8c4959736ff112d0fb42780c37ff6db |
Headers | show |
Series | tracing: Add a way to filter function addresses to function names | expand |
On Mon, Dec 19, 2022 at 01:31:08PM -0500, Steven Rostedt wrote: > From: "Steven Rostedt (Google)" <rostedt@goodmis.org> > > With the new filter logic of passing in the name of a function to match an > instruction pointer (or the address of the function), add a test to make > sure that it is functional. > > This is also the first test to test plain filtering. The filtering has > been tested via the trigger logic, which uses the same code, but there was > nothing to test just the event filter, so this test is the first to add > such a case. > > Cc: Shuah Khan <shuah@kernel.org> > Cc: Shuah Khan <skhan@linuxfoundation.org> > Cc: linux-kselftest@vger.kernel.org > Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Reviewed-by: Ross Zwisler <zwisler@google.com>
On 12/19/22 13:57, Ross Zwisler wrote: > On Mon, Dec 19, 2022 at 01:31:08PM -0500, Steven Rostedt wrote: >> From: "Steven Rostedt (Google)" <rostedt@goodmis.org> >> >> With the new filter logic of passing in the name of a function to match an >> instruction pointer (or the address of the function), add a test to make >> sure that it is functional. >> >> This is also the first test to test plain filtering. The filtering has >> been tested via the trigger logic, which uses the same code, but there was >> nothing to test just the event filter, so this test is the first to add >> such a case. >> >> Cc: Shuah Khan <shuah@kernel.org> >> Cc: Shuah Khan <skhan@linuxfoundation.org> >> Cc: linux-kselftest@vger.kernel.org >> Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> >> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> > > Reviewed-by: Ross Zwisler <zwisler@google.com> Thank you both. I will apply this after rc1 comes out. thanks, -- Shuah
On Mon, 19 Dec 2022 15:11:39 -0700 Shuah Khan <skhan@linuxfoundation.org> wrote: > On 12/19/22 13:57, Ross Zwisler wrote: > > On Mon, Dec 19, 2022 at 01:31:08PM -0500, Steven Rostedt wrote: > >> From: "Steven Rostedt (Google)" <rostedt@goodmis.org> > >> > >> With the new filter logic of passing in the name of a function to match an > >> instruction pointer (or the address of the function), add a test to make > >> sure that it is functional. > >> > >> This is also the first test to test plain filtering. The filtering has > >> been tested via the trigger logic, which uses the same code, but there was > >> nothing to test just the event filter, so this test is the first to add > >> such a case. > >> > >> Cc: Shuah Khan <shuah@kernel.org> > >> Cc: Shuah Khan <skhan@linuxfoundation.org> > >> Cc: linux-kselftest@vger.kernel.org > >> Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > >> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> > > > > Reviewed-by: Ross Zwisler <zwisler@google.com> > > Thank you both. I will apply this after rc1 comes out. It's dependent on the first patch. -- Steve
On 12/19/22 15:35, Steven Rostedt wrote: > On Mon, 19 Dec 2022 15:11:39 -0700 > Shuah Khan <skhan@linuxfoundation.org> wrote: > >> On 12/19/22 13:57, Ross Zwisler wrote: >>> On Mon, Dec 19, 2022 at 01:31:08PM -0500, Steven Rostedt wrote: >>>> From: "Steven Rostedt (Google)" <rostedt@goodmis.org> >>>> >>>> With the new filter logic of passing in the name of a function to match an >>>> instruction pointer (or the address of the function), add a test to make >>>> sure that it is functional. >>>> >>>> This is also the first test to test plain filtering. The filtering has >>>> been tested via the trigger logic, which uses the same code, but there was >>>> nothing to test just the event filter, so this test is the first to add >>>> such a case. >>>> >>>> Cc: Shuah Khan <shuah@kernel.org> >>>> Cc: Shuah Khan <skhan@linuxfoundation.org> >>>> Cc: linux-kselftest@vger.kernel.org >>>> Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> >>>> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> >>> >>> Reviewed-by: Ross Zwisler <zwisler@google.com> >> >> Thank you both. I will apply this after rc1 comes out. > > It's dependent on the first patch. > In which case, Acked-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
On Mon, 19 Dec 2022 17:20:39 -0700 Shuah Khan <skhan@linuxfoundation.org> wrote: > On 12/19/22 15:35, Steven Rostedt wrote: > > On Mon, 19 Dec 2022 15:11:39 -0700 > > Shuah Khan <skhan@linuxfoundation.org> wrote: > > > >> On 12/19/22 13:57, Ross Zwisler wrote: > >>> On Mon, Dec 19, 2022 at 01:31:08PM -0500, Steven Rostedt wrote: > >>>> From: "Steven Rostedt (Google)" <rostedt@goodmis.org> > >>>> > >>>> With the new filter logic of passing in the name of a function to match an > >>>> instruction pointer (or the address of the function), add a test to make > >>>> sure that it is functional. > >>>> > >>>> This is also the first test to test plain filtering. The filtering has > >>>> been tested via the trigger logic, which uses the same code, but there was > >>>> nothing to test just the event filter, so this test is the first to add > >>>> such a case. > >>>> > >>>> Cc: Shuah Khan <shuah@kernel.org> > >>>> Cc: Shuah Khan <skhan@linuxfoundation.org> > >>>> Cc: linux-kselftest@vger.kernel.org > >>>> Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > >>>> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> > >>> > >>> Reviewed-by: Ross Zwisler <zwisler@google.com> > >> > >> Thank you both. I will apply this after rc1 comes out. > > > > It's dependent on the first patch. > > > > In which case, > > Acked-by: Shuah Khan <skhan@linuxfoundation.org> > Thanks Shuah! -- Steve
diff --git a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc new file mode 100644 index 000000000000..e2ff3bf4df80 --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc @@ -0,0 +1,58 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: event filter function - test event filtering on functions +# requires: set_event events/kmem/kmem_cache_free/filter +# flags: instance + +fail() { #msg + echo $1 + exit_fail +} + +echo "Test event filter function name" +echo 0 > tracing_on +echo 0 > events/enable +echo > trace +echo 'call_site.function == exit_mmap' > events/kmem/kmem_cache_free/filter +echo 1 > events/kmem/kmem_cache_free/enable +echo 1 > tracing_on +ls > /dev/null +echo 0 > events/kmem/kmem_cache_free/enable + +hitcnt=`grep kmem_cache_free trace| grep exit_mmap | wc -l` +misscnt=`grep kmem_cache_free trace| grep -v exit_mmap | wc -l` + +if [ $hitcnt -eq 0 ]; then + exit_fail +fi + +if [ $misscnt -gt 0 ]; then + exit_fail +fi + +address=`grep ' exit_mmap$' /proc/kallsyms | cut -d' ' -f1` + +echo "Test event filter function address" +echo 0 > tracing_on +echo 0 > events/enable +echo > trace +echo "call_site.function == 0x$address" > events/kmem/kmem_cache_free/filter +echo 1 > events/kmem/kmem_cache_free/enable +echo 1 > tracing_on +sleep 1 +echo 0 > events/kmem/kmem_cache_free/enable + +hitcnt=`grep kmem_cache_free trace| grep exit_mmap | wc -l` +misscnt=`grep kmem_cache_free trace| grep -v exit_mmap | wc -l` + +if [ $hitcnt -eq 0 ]; then + exit_fail +fi + +if [ $misscnt -gt 0 ]; then + exit_fail +fi + +reset_events_filter + +exit 0