Re: [BUG] Strange 1-second pauses during Resume-from-RAM

Ingo Molnar
2007-11-16T07:16:40Z

* Ingo Molnar <mingo@elte.hu> wrote:

> > Is there a version of these that works with 2.6.23.1 ?
>
> yes, i've backported it and have uploaded the v2.6.23 version to:
>
> http://redhat.com/~mingo/latency-tracing-patches/latency-tracer-v2.6.23.1-combo.patch

btw., if the trace is too large and the interesting section of suspend
does not fit into it then you can narrow it down to the most important
events only by changing this in trace-cmd.c:

system("echo 1 > /proc/sys/kernel/mcount_enabled");

to:

system("echo 0 > /proc/sys/kernel/mcount_enabled");

that way we'll still trace IRQs and scheduling events, which is enough
to see roughly where the delay is happening. To include symbolic
backtraces in the trace, do this:

echo 1 > /proc/sys/kernel/stackframe_tracing

to get such trace entries:

ls 3688 1D..3 4642us+: deactivate_task <ls 3688> (0 0)
ls 3688 1D..3 4644us+: schedule()<-do_exit()<-sys_exit_group()<-sys_exit_group()
ls 3688 1D..3 4647us+: sysenter_past_esp()<-( -1)()<-( 0)()<-( 0)()
<idle> 0 1D..2 4652us : schedule <ls 3688> (0 20)

this way we can see why a task goes to sleep and which exact kernel
codepath is waking it up.

Ingo