profiling the resume path
Marcelo Tosatti
marcelo at kvack.org
Sun Sep 2 13:03:12 EDT 2007
On Sun, Sep 02, 2007 at 12:50:03PM +0100, David Woodhouse wrote:
> On Sun, 2007-09-02 at 04:10 -0400, Marcelo Tosatti wrote:
> > Note: ohci_pci_resume does msleep 20.
>
> Hm. It's just waiting for the hardware to settle, right? Do the resume
> functions for the devices themselves actually have to wait until this is
> complete, before they can do anything?
>
> It really sounds like we need to decouple suspend/resume of individual
> hardware devices from the full system suspend. It should be almost
> completely asynchronous. Why can't I start running userspace after
> resume, before I've reinitialised the USB thermometer which is plugged
> in? Why don't we just block access to that particular device until it's
> complete (and take that device off-line to save power even when the full
> system isn't suspended).
You're entirely right, but I'm talking about something else:
[ 0.040909] cpu_idle+0x2e/0x7c -> check_pgt_cache+0xb/0x31
[ 0.000000] check_pgt_cache+0x2f/0x31 -> quicklist_trim+0xe/0xe5
[ 0.040912] cpu_idle+0x4e/0x7c -> default_idle+0x8/0x43
[ 0.233593] do_IRQ+0x45/0xdb -> irq_enter+0xb/0x2d
[ 0.233594] irq_enter+0x22/0x2d -> idle_cpu+0x8/0x1b
This interrupt scheduled for 233-40ms is what sounds wrong. It should
just continue to blaze off the EHCI resume path.
More information about the Devel
mailing list