Re: [patch] Real-Time Preemption, -RT-2.6.11-rc2-V0.7.36-04

From: Ingo Molnar
Date: Tue Feb 01 2005 - 15:47:09 EST



* Lee Revell <rlrevell@xxxxxxxxxxx> wrote:

> OK. So for application triggered tracing you need LATENCY_TRACING
> enabled, as described here:
>
> http://lkml.org/lkml/2004/10/29/312

correct, that too should still work fine - with the small change that
there's now a separate flag to active it:

echo 1 > /proc/sys/kernel/trace_user_triggered # default: 0

it is an orthogonal mechanism to atomicity-debugging.

since i wrote the above mail 3 months ago, a number of improvements have
been done to the tracer. There are a handful of modifier feature-flags
to the tracer, which can be used to get additional functionality. Here's
a quick summary:

echo 1 > /proc/sys/kernel/trace_freerunning # default: 0

will get a 'freerunning' tracer which never stops (and overwrites the
oldest entries if the trace gets full). Especially with long latencies
this in some cases can be more informative.

this flag:

echo 0 > /proc/sys/kernel/mcount_enabled # default: 1

causes the tracer to record only key kernel events (schedule/wakeup
events, etc.), not every kernel function call. This might be useful if
you want to see the bigger picture and want to validate scheduling logic
on a bigger scale, spanning a much longer timeframe.

and if you have stability problems, this flag might be handy:

echo 1 > /proc/sys/kernel/trace_freerunning # default: 0

it will dump the current kernel trace to the kernel console if a crash
happens - obviously only useful with a serial console or netconsole.
It's a big dump but can make some bugs much easier to debug.

on SMP:

echo 1 > /proc/sys/kernel/trace_all_cpus # default: 0

this flag will cause all activity from all CPUs to be included in the
trace. This can be useful if it is suspected that a particular latency
was caused not by the CPU where the latency triggers, but by some other
CPU.

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/