All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Documentation: ftrace: clarify filters with dynamic ftrace and graph
@ 2018-04-13  9:26 Steffen Maier
  2018-04-13 13:57 ` Steven Rostedt
  0 siblings, 1 reply; 5+ messages in thread
From: Steffen Maier @ 2018-04-13  9:26 UTC (permalink / raw)
  To: linux-doc; +Cc: Steffen Maier, Steven Rostedt, Ingo Molnar, Jonathan Corbet

I fell into the trap of having set up function tracer with a very
limited filter and then switched over to function_graph and was
erroneously wondering why the latter did not trace what I expected,
which was the full unabridged graph recursion.

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
---
 Documentation/trace/ftrace.rst | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Documentation/trace/ftrace.rst b/Documentation/trace/ftrace.rst
index e45f0786f3f9..68835d062344 100644
--- a/Documentation/trace/ftrace.rst
+++ b/Documentation/trace/ftrace.rst
@@ -224,6 +224,7 @@ of ftrace. Here is a list of some of the key files:
 	has a side effect of enabling or disabling specific functions
 	to be traced. Echoing names of functions into this file
 	will limit the trace to only those functions.
+	This influences both the tracers "function" and "function_graph"!
 
 	The functions listed in "available_filter_functions" are what
 	can be written into this file.
@@ -265,6 +266,9 @@ of ftrace. Here is a list of some of the key files:
 	Functions listed in this file will cause the function graph
 	tracer to only trace these functions and the functions that
 	they call. (See the section "dynamic ftrace" for more details).
+	With dynamic ftrace, the graph tracer can only trace functions that
+	set_ftrace_filter minus set_ftrace_notrace armed; this also influences
+	the ability to chase function call chains.
 
   set_graph_notrace:
 
@@ -277,7 +281,8 @@ of ftrace. Here is a list of some of the key files:
 
 	This lists the functions that ftrace has processed and can trace.
 	These are the function names that you can pass to
-	"set_ftrace_filter" or "set_ftrace_notrace".
+	"set_ftrace_filter", "set_ftrace_notrace",
+	"set_graph_function", or "set_graph_notrace".
 	(See the section "dynamic ftrace" below for more details.)
 
   dyn_ftrace_total_info:
-- 
2.13.5

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] Documentation: ftrace: clarify filters with dynamic ftrace and graph
  2018-04-13  9:26 [PATCH] Documentation: ftrace: clarify filters with dynamic ftrace and graph Steffen Maier
@ 2018-04-13 13:57 ` Steven Rostedt
  2018-04-13 15:39   ` [PATCH v2] " Steffen Maier
  0 siblings, 1 reply; 5+ messages in thread
From: Steven Rostedt @ 2018-04-13 13:57 UTC (permalink / raw)
  To: Steffen Maier; +Cc: linux-doc, Ingo Molnar, Jonathan Corbet

On Fri, 13 Apr 2018 11:26:16 +0200
Steffen Maier <maier@linux.ibm.com> wrote:

> I fell into the trap of having set up function tracer with a very
> limited filter and then switched over to function_graph and was
> erroneously wondering why the latter did not trace what I expected,
> which was the full unabridged graph recursion.

I didn't realize that the documentation doesn't state this. I mention
it in all my talks that talk about function and function_graph tracer
and set_ftrace_filter.

> 
> Signed-off-by: Steffen Maier <maier@linux.ibm.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Jonathan Corbet <corbet@lwn.net>
> Cc: linux-doc@vger.kernel.org
> ---
>  Documentation/trace/ftrace.rst | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/trace/ftrace.rst b/Documentation/trace/ftrace.rst
> index e45f0786f3f9..68835d062344 100644
> --- a/Documentation/trace/ftrace.rst
> +++ b/Documentation/trace/ftrace.rst
> @@ -224,6 +224,7 @@ of ftrace. Here is a list of some of the key files:
>  	has a side effect of enabling or disabling specific functions
>  	to be traced. Echoing names of functions into this file
>  	will limit the trace to only those functions.
> +	This influences both the tracers "function" and "function_graph"!

I know you probably were a bit upset about the documentation not
emphasizing that this affects function_graph, but there's no reason to
have an exclamation point at the end of that statement.

It states that it affects what functions are traced without mentioning
tracers. The assumption was that any "function type" tracing will be
affected by it. Which is no longer true, because stack tracer has its
own filter files.

We should also mention that function profiling is affected by that too.


>  
>  	The functions listed in "available_filter_functions" are what
>  	can be written into this file.
> @@ -265,6 +266,9 @@ of ftrace. Here is a list of some of the key files:
>  	Functions listed in this file will cause the function graph
>  	tracer to only trace these functions and the functions that
>  	they call. (See the section "dynamic ftrace" for more details).
> +	With dynamic ftrace, the graph tracer can only trace functions that
> +	set_ftrace_filter minus set_ftrace_notrace armed; this also influences
> +	the ability to chase function call chains.

Again, the above seems a bit emotional ;-) Just something like this:

	Note, set_ftrace_filter and set_ftrace_notrace still affects
	what functions are being traced.


>  
>    set_graph_notrace:
>  
> @@ -277,7 +281,8 @@ of ftrace. Here is a list of some of the key files:
>  
>  	This lists the functions that ftrace has processed and can trace.
>  	These are the function names that you can pass to
> -	"set_ftrace_filter" or "set_ftrace_notrace".
> +	"set_ftrace_filter", "set_ftrace_notrace",
> +	"set_graph_function", or "set_graph_notrace".
>  	(See the section "dynamic ftrace" below for more details.)

This part is fine.

-- Steve

-- Steve

>  
>    dyn_ftrace_total_info:

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2] Documentation: ftrace: clarify filters with dynamic ftrace and graph
  2018-04-13 13:57 ` Steven Rostedt
@ 2018-04-13 15:39   ` Steffen Maier
  2018-04-13 15:54     ` Steven Rostedt
  0 siblings, 1 reply; 5+ messages in thread
From: Steffen Maier @ 2018-04-13 15:39 UTC (permalink / raw)
  To: linux-doc; +Cc: Steffen Maier, Steven Rostedt, Ingo Molnar, Jonathan Corbet

I fell into the trap of having set up function tracer with a very
limited filter and then switched over to function_graph and was
erroneously wondering why the latter did not trace what I expected,
which was the full unabridged graph recursion.

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
---

Changes since v1:
Integrated review comments by Steven Rostedt
* less emotional phrasing
* also mention function profiling with set_ftrace_filter
  (hopefully I got that right as I don't have experience with it)

 Documentation/trace/ftrace.rst | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Documentation/trace/ftrace.rst b/Documentation/trace/ftrace.rst
index e45f0786f3f9..9bbd3aefadb2 100644
--- a/Documentation/trace/ftrace.rst
+++ b/Documentation/trace/ftrace.rst
@@ -224,6 +224,8 @@ of ftrace. Here is a list of some of the key files:
 	has a side effect of enabling or disabling specific functions
 	to be traced. Echoing names of functions into this file
 	will limit the trace to only those functions.
+	This influences the tracers "function" and "function_graph"
+	and thus also function profiling (see "function_profile_enabled").
 
 	The functions listed in "available_filter_functions" are what
 	can be written into this file.
@@ -265,6 +267,8 @@ of ftrace. Here is a list of some of the key files:
 	Functions listed in this file will cause the function graph
 	tracer to only trace these functions and the functions that
 	they call. (See the section "dynamic ftrace" for more details).
+	Note, set_ftrace_filter and set_ftrace_notrace still affects
+	what functions are being traced.
 
   set_graph_notrace:
 
@@ -277,7 +281,8 @@ of ftrace. Here is a list of some of the key files:
 
 	This lists the functions that ftrace has processed and can trace.
 	These are the function names that you can pass to
-	"set_ftrace_filter" or "set_ftrace_notrace".
+	"set_ftrace_filter", "set_ftrace_notrace",
+	"set_graph_function", or "set_graph_notrace".
 	(See the section "dynamic ftrace" below for more details.)
 
   dyn_ftrace_total_info:
-- 
2.13.5

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] Documentation: ftrace: clarify filters with dynamic ftrace and graph
  2018-04-13 15:39   ` [PATCH v2] " Steffen Maier
@ 2018-04-13 15:54     ` Steven Rostedt
  2018-04-13 19:48       ` Jonathan Corbet
  0 siblings, 1 reply; 5+ messages in thread
From: Steven Rostedt @ 2018-04-13 15:54 UTC (permalink / raw)
  To: Steffen Maier; +Cc: linux-doc, Ingo Molnar, Jonathan Corbet

On Fri, 13 Apr 2018 17:39:15 +0200
Steffen Maier <maier@linux.ibm.com> wrote:

> I fell into the trap of having set up function tracer with a very
> limited filter and then switched over to function_graph and was
> erroneously wondering why the latter did not trace what I expected,
> which was the full unabridged graph recursion.
> 
> Signed-off-by: Steffen Maier <maier@linux.ibm.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>

Looks good.

Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Jonathan Corbet <corbet@lwn.net>

Jon, you want to take it in your tree?

-- Steve

> Cc: linux-doc@vger.kernel.org
> ---
> 
> Changes since v1:
> Integrated review comments by Steven Rostedt
> * less emotional phrasing
> * also mention function profiling with set_ftrace_filter
>   (hopefully I got that right as I don't have experience with it)
> 
>  Documentation/trace/ftrace.rst | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/trace/ftrace.rst b/Documentation/trace/ftrace.rst
> index e45f0786f3f9..9bbd3aefadb2 100644
> --- a/Documentation/trace/ftrace.rst
> +++ b/Documentation/trace/ftrace.rst
> @@ -224,6 +224,8 @@ of ftrace. Here is a list of some of the key files:
>  	has a side effect of enabling or disabling specific functions
>  	to be traced. Echoing names of functions into this file
>  	will limit the trace to only those functions.
> +	This influences the tracers "function" and "function_graph"
> +	and thus also function profiling (see "function_profile_enabled").
>  
>  	The functions listed in "available_filter_functions" are what
>  	can be written into this file.
> @@ -265,6 +267,8 @@ of ftrace. Here is a list of some of the key files:
>  	Functions listed in this file will cause the function graph
>  	tracer to only trace these functions and the functions that
>  	they call. (See the section "dynamic ftrace" for more details).
> +	Note, set_ftrace_filter and set_ftrace_notrace still affects
> +	what functions are being traced.
>  
>    set_graph_notrace:
>  
> @@ -277,7 +281,8 @@ of ftrace. Here is a list of some of the key files:
>  
>  	This lists the functions that ftrace has processed and can trace.
>  	These are the function names that you can pass to
> -	"set_ftrace_filter" or "set_ftrace_notrace".
> +	"set_ftrace_filter", "set_ftrace_notrace",
> +	"set_graph_function", or "set_graph_notrace".
>  	(See the section "dynamic ftrace" below for more details.)
>  
>    dyn_ftrace_total_info:

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] Documentation: ftrace: clarify filters with dynamic ftrace and graph
  2018-04-13 15:54     ` Steven Rostedt
@ 2018-04-13 19:48       ` Jonathan Corbet
  0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Corbet @ 2018-04-13 19:48 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Steffen Maier, linux-doc, Ingo Molnar

On Fri, 13 Apr 2018 11:54:03 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> Jon, you want to take it in your tree?

Sure, I'll grab it.

jon
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-04-13 19:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-13  9:26 [PATCH] Documentation: ftrace: clarify filters with dynamic ftrace and graph Steffen Maier
2018-04-13 13:57 ` Steven Rostedt
2018-04-13 15:39   ` [PATCH v2] " Steffen Maier
2018-04-13 15:54     ` Steven Rostedt
2018-04-13 19:48       ` Jonathan Corbet

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.