Re: [PATCH V2 -tip 3/4] Tracing/ftrace: Adapt mmiotrace to the new type of print_line

From: Frédéric Weisbecker
Date: Tue Sep 30 2008 - 12:16:43 EST


Oops sorry...
Cut in the middle....

2008/9/30 Frederic Weisbecker <fweisbec@xxxxxxxxx>:
> Ingo Molnar wrote:
>> * Frédéric Weisbecker <fweisbec@xxxxxxxxx> wrote:
>>
>>> 2008/9/30 Steven Rostedt <rostedt@xxxxxxxxxxx>:
>>>> OK, I'll nuke the ring_buffer_lock :-/
>>>>
>>>> The trace_pipe calls that and then calls print_trace_line which will
>>>> eventually lock the buffer again. This is a bug on my part. I'll fix that
>>>> today.
>>>>
>>>> Thanks,
>>> Strange, I can't see any case where print_trace_line could call the
>>> ring_buffer_lock.
>>> Hmm, I will see in your patch.
>>>
>>> Ingo, I just saw one damage from the merging, trace_empty() returns
>>> TRACE_TYPE_HANDLED. The type is wrong, it should return 1. It's not
>>> urgent since the value is the same. Should I send a patch for such a
>>> small error?
>>
>> yes, please do. One too many patch is far better than one too few ;-)
>>
>> Ingo
>>
>
> :)
>
> Here it is!
>
> Subject: [PATCH -tip] Tracing/ftrace: correct return value of trace_empty
>
> Correct the value's type of trace_empty function
>
> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> ---
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 6a1c76b..da3789d 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -1686,7 +1686,7 @@ static int trace_empty(struct trace_iterator *iter)
> if (!ring_buffer_iter_empty(iter->buffer_iter[cpu]))
> return 0;
> }
> - return TRACE_TYPE_HANDLED;
> + return 1;
> }
>
> static enum print_line_t print_trace_line(struct trace_iterator *iter)
>
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 6a1c76b..da3789d 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -1686,7 +1686,7 @@ static int trace_empty(struct trace_iterator *iter)
> if (!ring_buffer_iter_empty(iter->buffer_iter[cpu]))
> return 0;
> }
> - return TRACE_TYPE_HANDLED;
> + return 1;
> }
>
> static enum print_line_t print_trace_line(struct trace_iterator *iter)
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/