Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH]: In kernel hibernation, suspend to both | Date | Sun, 13 May 2012 15:10:37 +0200 |
| |
On Sunday, May 13, 2012, Bojan Smojver wrote: > "Rafael J. Wysocki" <rjw@sisk.pl> wrote: > > >On Wednesday, May 09, 2012, Bojan Smojver wrote: > >> On Wed, 2012-05-09 at 13:40 +0530, Srivatsa S. Bhat wrote: > >> > > + error = suspend_devices_and_enter(PM_SUSPEND_MEM); > >> > > >> > > >> > I can imagine running into a host of problems here, since the > >suspend > >> > sequence is not carried out fully, from the beginning. > >> > > >> > For example, this will skip sending out the PM_SUSPEND_PREPARE and > >the > >> > PM_POST_SUSPEND notifiers. Worse, we actually send out the > >> > PM_HIBERNATION_PREPARE > >> > and PM_POST_HIBERNATION notifiers and then do a suspend instead, > >> > underneath! > >> > > >> > (Similar cases for the rest of the notifiers sent during suspend vs > >> > hibernation). > >> > > >> > Don't we need to handle such things properly, in order to make > >> > suspend-to-both > >> > work reliably? > >> > >> Honest answer - I have absolutely no idea. I've seen the code of > >> suspend-utils (i.e. user mode stuff) and it seems to me that it does > >> exactly this. Could be wrong of course, just like many times before. > >> > >> Rafael? > > > >Sorry, that has fallen out of my radar somehow. > > > >Srivatsa is right, we should generally pay attention to those details. > > > >I think we should generally use a different "prepare" notification for > >the > >save-image-and-suspend case. > > > >Thanks, > >Rafael > > > OK, I will try to rework then, if that is the case. > > What I don't understand is this: should the hibernation fail for some reason, > we would get the same hibernation code unwind that failure, right?
Yes, if the failure happens before we attempt to suspend.
> So, a suspend after the image write will be just one long "failure", after > which hibernation code has to unwind again. No?
Hmm. Good question. It should be like this I think, although there may be some corner cases lurking.
Thanks, Rafael
| |