2024-05-15 05:36:31

by Steven Rostedt

[permalink] [raw]
Subject: [PATCH] selftests/ftrace: Fix test to handle both old and new kernels

From: "Steven Rostedt (Google)" <[email protected]>

The function "scheduler_tick" was renamed to "sched_tick" and a selftest
that used that function for testing function trace filtering used that
function as part of the test.

But the change causes it to fail when run on older kernels. As tests
should not fail on older kernels, add a check to see which name is
available before testing.

Fixes: 86dd6c04ef9f2 ("sched/balancing: Rename scheduler_tick() => sched_tick()")
Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
.../ftrace/test.d/ftrace/func_set_ftrace_file.tc | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
index 073a748b9380..263f6b798c85 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
@@ -19,7 +19,14 @@ fail() { # mesg

FILTER=set_ftrace_filter
FUNC1="schedule"
-FUNC2="sched_tick"
+if grep '^sched_tick\b' available_filter_functions; then
+ FUNC2="sched_tick"
+elif grep '^scheduler_tick\b' available_filter_functions; then
+ FUNC2="scheduler_tick"
+else
+ exit_unresolved
+fi
+

ALL_FUNCS="#### all functions enabled ####"

--
2.43.0



2024-06-14 17:08:34

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] selftests/ftrace: Fix test to handle both old and new kernels


Shuah,

Can you take this through your tree?

Thanks,

-- Steve


On Wed, 15 May 2024 01:36:20 -0400
Steven Rostedt <[email protected]> wrote:

> From: "Steven Rostedt (Google)" <[email protected]>
>
> The function "scheduler_tick" was renamed to "sched_tick" and a selftest
> that used that function for testing function trace filtering used that
> function as part of the test.
>
> But the change causes it to fail when run on older kernels. As tests
> should not fail on older kernels, add a check to see which name is
> available before testing.
>
> Fixes: 86dd6c04ef9f2 ("sched/balancing: Rename scheduler_tick() => sched_tick()")
> Signed-off-by: Steven Rostedt (Google) <[email protected]>
> ---
> .../ftrace/test.d/ftrace/func_set_ftrace_file.tc | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> index 073a748b9380..263f6b798c85 100644
> --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> @@ -19,7 +19,14 @@ fail() { # mesg
>
> FILTER=set_ftrace_filter
> FUNC1="schedule"
> -FUNC2="sched_tick"
> +if grep '^sched_tick\b' available_filter_functions; then
> + FUNC2="sched_tick"
> +elif grep '^scheduler_tick\b' available_filter_functions; then
> + FUNC2="scheduler_tick"
> +else
> + exit_unresolved
> +fi
> +
>
> ALL_FUNCS="#### all functions enabled ####"
>