All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
To: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>
Cc: Akanksha J N <akanksha@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org, Shuah Khan <shuah@kernel.org>
Subject: Re: [PATCH] selftests/ftrace: Limit number of lines processed in 'trace'
Date: Wed, 19 Oct 2022 15:15:09 +0530	[thread overview]
Message-ID: <1666172148.1jppmgndx2.naveen@linux.ibm.com> (raw)
In-Reply-To: <20221018112224.372a3484@gandalf.local.home>

Steven Rostedt wrote:
> On Wed, 19 Oct 2022 00:19:49 +0900
> Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:
> 
>> > You need to make sure that the "pause-on-trace" option is set or tracing_on
>> > is set to 0 (disabled). Otherwise, if the tracing is still active, then the
>> > reading of the trace file could potentially never end.  
>> 
>> initialize_ftrace() does this setting. So it must be set.
>> If you run the ftracetest on old kernel, this feature is not there and
>> it may cause a trouble. Naveen, can you clarify it?

Yes, the change to not pause on opening the trace file looks to be the 
problem.

> 
> But for old kernels that do not have "pause-on-trace" it should be the
> default. The "pause-on-trace" was added when the default was changed to not
> pause the trace while reading it.

It looks like the kernel patch was picked up, but Masami's patch for the 
selftest wasn't backported. I have requested a test with that applied.

Separately, before I saw your response, I came up with the below patch 
to update the selftests to disable tracing before reading the trace 
file. I have also requested this to be tested.


- Naveen

---
 .../selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc     | 4 +++-
 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc | 2 ++
 .../selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc | 3 ++-
 .../testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc | 3 ++-
 4 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
index cf3ea42b12b09f..7e74df1ef928f9 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
@@ -39,6 +39,7 @@ disable_tracing
 clear_trace
 enable_tracing
 sleep 1
+disable_tracing
 
 count=`cat trace | grep '()' | grep -v schedule | wc -l`
 
@@ -54,8 +55,9 @@ fi
 
 echo 0 > /proc/sys/kernel/stack_tracer_enabled
 clear_trace
+enable_tracing
 sleep 1
-
+disable_tracing
 
 count=`cat trace | grep '()' | grep -v schedule | wc -l`
 
diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
index b3ccdaec2a61ba..7e65a115054127 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
@@ -24,6 +24,8 @@ fi
 echo function_graph > current_tracer
 enable_tracing
 sleep 1
+disable_tracing
+
 # search for functions (has "()" on the line), and make sure
 # that only the schedule function was found
 count=`cat trace | grep '()' | grep -v schedule | wc -l`
diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
index 80541964b9270b..9fb0511b5d2eeb 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
@@ -51,6 +51,7 @@ do_test() {
 
     enable_tracing
     yield
+    disable_tracing
 
     count_pid=`cat trace | grep -v ^# | grep $PID | wc -l`
     count_other=`cat trace | grep -v ^# | grep -v $PID | wc -l`
@@ -60,7 +61,6 @@ do_test() {
 	fail "PID filtering not working? traced task = $count_pid; other tasks = $count_other "
     fi
 
-    disable_tracing
     clear_trace
 
     if [ $do_function_fork -eq 0 ]; then
@@ -77,6 +77,7 @@ do_test() {
 
     enable_tracing
     yield
+    disable_tracing
 
     count_pid=`cat trace | grep -v ^# | grep $PID | wc -l`
     count_other=`cat trace | grep -v ^# | grep -v $PID | wc -l`
diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
index 2f7211254529ba..c55bcf2fe1966f 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
@@ -51,6 +51,7 @@ do_test() {
 
     enable_tracing
     yield
+    disable_tracing
 
     count_pid=`cat trace | grep -v ^# | grep $PID | wc -l`
     count_other=`cat trace | grep -v ^# | grep -v $PID | wc -l`
@@ -60,7 +61,6 @@ do_test() {
 	fail "PID filtering not working?"
     fi
 
-    disable_tracing
     clear_trace
 
     if [ $do_function_fork -eq 0 ]; then
@@ -72,6 +72,7 @@ do_test() {
 
     enable_tracing
     yield
+    disable_tracing
 
     count_pid=`cat trace | grep -v ^# | grep $PID | wc -l`
     count_other=`cat trace | grep -v ^# | grep -v $PID | wc -l`


  reply	other threads:[~2022-10-19 11:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-17 10:55 [PATCH] selftests/ftrace: Limit number of lines processed in 'trace' Naveen N. Rao
2022-10-17 14:51 ` Steven Rostedt
2022-10-18 15:19   ` Masami Hiramatsu
2022-10-18 15:22     ` Steven Rostedt
2022-10-19  9:45       ` Naveen N. Rao [this message]
2022-10-19 15:46         ` Masami Hiramatsu
2022-10-28  7:29           ` Naveen N. Rao
2022-10-18 22:41 ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1666172148.1jppmgndx2.naveen@linux.ibm.com \
    --to=naveen.n.rao@linux.vnet.ibm.com \
    --cc=akanksha@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.