Messages in this thread | | | Date | Mon, 22 Sep 2008 08:07:05 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: How how latent should non-preemptive scheduling be? |
| |
On Mon, 22 Sep 2008, Ingo Molnar wrote: > * Sitsofe Wheeler <sitsofe@yahoo.com> wrote: > >> > >> sounds like potential SMM triggered latencies. > > > > I have just gone away and read about the SMM ( > > http://blogs.msdn.com/carmencr/archive/2005/08/31/458609.aspx ). If > > you're right there is pretty much nothing that can be done about the > > problem : ( > > well, since they went away after you enabled CONFIG_PREEMPT=y, they are > definitely in-kernel latencies, not any external SMM latencies. > > I.e. they are inherently fixable. Could you enable: > > CONFIG_DYNAMIC_FTRACE=y > CONFIG_FTRACE_MCOUNT_RECORD=y > > that should make the traces a lot more verbose - every kernel function > executed in the latency path will be logged. That way we'll be able to > say which one takes that long. > > note, you might have to increase /debug/tracing/trace_entries to get a > long enough trace to capture the relevant portion of the latency.
Also note, to modify trace_entries, you must be in the none (nop?) tracer, otherwise the size will not be effected.
If you find the trace is also too big, you can echo a list of functions into:
/debug/tracing/set_ftrace_notrace
to not trace those functions. using '>' will remove any existing function in that file, but using '>>' will append functions to the file.
For a list of functions that you can add, see:
/debug/tracing/available_filter_functions
-- Steve
| |