On Fri, 13 Apr 2018 11:26:16 +0200
Steffen Maier <ma...@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 <ma...@linux.ibm.com>
> Cc: Steven Rostedt <rost...@goodmis.org>
> Cc: Ingo Molnar <mi...@redhat.com>
> Cc: Jonathan Corbet <cor...@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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to