Re: [PATCH 1/5] trace: do not disable wake up tracer on output oftrace

From: Ingo Molnar
Date: Thu Jan 22 2009 - 03:41:40 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> Impact: fix to erased trace output
>
> To try not to have the outputing of a trace interfere with the wakeup
> tracer, it would disable tracing while the output was printing. But if a
> trace had started when it was disabled, it can show a partial trace. To
> try to solve this, on closing of the tracer, it would clear the trace
> buffer.
>
> The latency tracers (wakeup and irqsoff) have two buffers. One for
> recording and one for holding the max trace that is printed. The
> clearing of the trace above should only affect the recording buffer. But
> for some reason it would move the erased trace to the print buffer.
> Probably due to a race with the closing of the trace and the saving ofhe
> max race.

hm, that race needs to be fixed then.

> The above is all pretty useless, and if the user does not want the
> printing of the trace to be traced itself, then the user can manual
> disable tracing. This patch removes all the code that tries to keep the
> output of the tracer from modifying the trace.

printing of the trace should not be traced. I cannot imagine any usage
mode where that would be interesting - and i can imagine a ton of cases
where users would be confused/distracted by the tracer in essence zapping
their measurement by replacing it with some uninteresting 'the tracer
itself has wakeup delays' data.

auto-disabling latency tracing while the trace is being output is
essential. Measurement should never impact the workload that is being
measured.

We should fix that race instead.

Ingo
--
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/