Re: 2.6.25-rc2 System no longer powers off after suspend-to-disk. Screen becomes green.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Wednesday, February 20, 2008 - 3:22 pm

On Wed, 20 Feb 2008, Jesse Barnes wrote:

Absolutely. 

Two big reasons:

 - debuggability

   I know we don't do this correctly right now, but I want to be able to 
   at least feel like we can some day actually do printk's etc through 99% 
   of the suspend/resume cycle. It's a *huge* thing for debugging problems 
   that happen in the wild, and one of the biggest issues is that we 
   currently usualyl just get a "the machine died" message when suspend or 
   resume doesn't work.

   Yes, doing printk's to the Intel management flash stuff can help a lot 
   here, and I want that too, but I'd really like to shut down consoles 
   individually rather than having the "big hammer" approach that shuts 
   them up entirely over the whole suspend/resume sequence (or not at all, 
   if you use "no_console_suspend").

   And I'd *really* like to do things like VGA-console shutdown in the 
   late phase (and resume early).

 - it's actually likely *much* simpler for some devices. 

   Simple devices (and that includes things like PCI bridges etc, but 
   also potentially USB host controllers etc) are things that can often be 
   trivially suspended - all the complexity is really not in the 
   controller itself, but beyond, in the bus that it actually drives.

   And the late-suspend/early-resume means that you don't have to worry 
   about things like interrupts happening while you're suspended. Yes, 
   putting the device into D3 will disable interrupts from that device too 
   (unless there are bugs), *BUT* you may be sharing an interrupt line, 
   and interrupts may be posted and delayed, so an earlier interrupt may 
   well be pending etc.

   suspending late and resuming early just avoids those issues entirely.

Sometimes these things interact. For example, firewire is certainly not 
trivial to suspend as a "subsystem" thing (ie all the devices behind the 
firewire bridge need to do magic things, like spinning down etc that 
obviously can not happen in the final "late" phase), but the firewire 
controller itself is likely trivial to suspend/resume and can easily be 
handled in the late/early routines. And guess what? It's also exactly what 
you want to happen in case you end up using the firewire RDMA as a debug 
aid.

IOW, you want that firewire controller (and the PCI bridges) working 
really early, so that if a problem does happen when you resume some more 
complex device (say, one of the graphics chips that need X to really come 
alive), you can use the firewire rdma to read out the kernel log buffer 
from memory.


I don't personally mind kexec at all, but on the other hand, I don't care 
about suspend-to-disk in the first place. I do know that some people 
really don't want it, and I suspect that they have valid reasons. Ranging 
from memory use to simply just performance. 

		Linus
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 1:14 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Wed Feb 20, 1:45 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Alexey Starikovskiy, (Wed Feb 20, 2:26 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Linus Torvalds, (Wed Feb 20, 3:22 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 3:36 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 4:35 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 4:49 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 5:13 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 5:59 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Wed Feb 20, 6:07 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Nigel Cunningham, (Wed Feb 20, 11:05 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 9:27 am)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Romano Giannetti, (Thu Feb 21, 12:43 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 1:30 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 3:11 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 5:28 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 5:31 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 5:54 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 6:06 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Fri Feb 22, 9:10 am)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Fri Feb 22, 10:02 am)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Fri Feb 22, 10:44 am)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Fri Feb 22, 4:16 pm)
i915 hibernation patch (was: Re: [Suspend-devel] 2.6.25-rc ..., Rafael J. Wysocki, (Fri Feb 22, 4:31 pm)
Re: i915 hibernation patch (was: Re: [Suspend-devel] 2.6.2 ..., Rafael J. Wysocki, (Fri Feb 22, 6:55 pm)
[PATCH] PM: Introduce PM_EVENT_HIBERNATE (was: Re: i915 hi ..., Rafael J. Wysocki, (Sat Feb 23, 11:13 am)
Re: [PATCH] PM: Introduce PM_EVENT_HIBERNATE (was: Re: i91 ..., Rafael J. Wysocki, (Sun Feb 24, 4:11 am)
Re: [PATCH] PM: Introduce PM_EVENT_HIBERNATE (was: Re: i91 ..., Rafael J. Wysocki, (Sun Feb 24, 4:25 am)