From: Frederic Weisbecker on
On Wed, Feb 24, 2010 at 03:40:25PM +0800, Wenji Huang wrote:
> Return TRACE_TYPE_HANDLED instead of zero to avoid confusion.
>
> Signed-off-by: Wenji Huang <wenji.huang(a)oracle.com>
> ---
> kernel/trace/trace_functions_graph.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
> index 112561d..bd0bdeb 100644
> --- a/kernel/trace/trace_functions_graph.c
> +++ b/kernel/trace/trace_functions_graph.c
> @@ -806,7 +806,7 @@ print_graph_prologue(struct trace_iterator *iter, struct trace_seq *s,
> return TRACE_TYPE_PARTIAL_LINE;
> }
>
> - return 0;
> + return TRACE_TYPE_HANDLED;


Actually TRACE_TYPE_HANDLED = 1
So print_graph_prologue always returns 0.
And the check is inverted everywhere:

if (print_graph_prologue(...))
return TRACE_TYPE_PARTIAL_LINE;

Which means we never it fails.

It's not a big deal because there will always be something
else to print after the prologue, and this will fail too
and then return the error.

But still, if you fix this, you also need to do:

diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
index 616b135..9da6487 100644
--- a/kernel/trace/trace_functions_graph.c
+++ b/kernel/trace/trace_functions_graph.c
@@ -819,7 +819,7 @@ print_graph_entry(struct ftrace_graph_ent_entry *field, struct trace_seq *s,
static enum print_line_t ret;
int cpu = iter->cpu;

- if (print_graph_prologue(iter, s, TRACE_GRAPH_ENT, call->func))
+ if (!print_graph_prologue(iter, s, TRACE_GRAPH_ENT, call->func))
return TRACE_TYPE_PARTIAL_LINE;

leaf_ret = get_return_for_leaf(iter, field);
@@ -866,7 +866,7 @@ print_graph_return(struct ftrace_graph_ret *trace, struct trace_seq *s,
*depth = trace->depth - 1;
}

- if (print_graph_prologue(iter, s, 0, 0))
+ if (!print_graph_prologue(iter, s, 0, 0))
return TRACE_TYPE_PARTIAL_LINE;

/* Overhead */
@@ -921,7 +921,7 @@ print_graph_comment(struct trace_seq *s, struct trace_entry *ent,
if (data)
depth = per_cpu_ptr(data->cpu_data, iter->cpu)->depth;

- if (print_graph_prologue(iter, s, 0, 0))
+ if (!print_graph_prologue(iter, s, 0, 0))
return TRACE_TYPE_PARTIAL_LINE;

/* No overhead */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/