From: Steven Rostedt <[email protected]>

The tracing selftest "event-filter-function.tc" was failing because it
first runs the "sample_events" function that triggers the kmem_cache_free
event and it looks at what function was used during a call to "ls".

But the first time it calls this, it could trigger events that are used to
pull pages into the page cache.

The rest of the test uses the function it finds during that call to see if
it will be called in subsequent "sample_events" calls. But if there's no
need to pull pages into the page cache, it will not trigger that function
and the test will fail.

Call the "sample_events" twice to trigger all the page cache work before
it calls it to find a function to use in subsequent checks.

Cc: [email protected]
Fixes: eb50d0f250e96 ("selftests/ftrace: Choose target function for filter test 
from samples")
Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
 .../selftests/ftrace/test.d/filter/event-filter-function.tc   | 4 ++++
 1 file changed, 4 insertions(+)

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
index c62165fabd0c..003f612f57b0 100644
--- a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
+++ b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
@@ -20,6 +20,10 @@ sample_events() {
 echo 0 > tracing_on
 echo 0 > events/enable
 
+# Clear functions caused by page cache; run sample_events twice
+sample_events
+sample_events
+
 echo "Get the most frequently calling function"
 echo > trace
 sample_events
-- 
2.51.0


Reply via email to