Re: swsusp doesn't suspend devices

Rafael J. Wysocki
2005-09-07T20:40:49Z

On Wednesday, 7 of September 2005 22:17, Pierre Ossman wrote:
> Rafael J. Wysocki wrote:
>
> >On Wednesday, 7 of September 2005 13:20, Pierre Ossman wrote:
> >
> >
> >>It would seem that swsusp doesn't properly suspend devices, or more
> >>precisely it wakes them up again before suspending the machine.
> >>
> >>
> >
> >Yes, it does. By design.
> >
> >
> >
>
> That seems counter-productive, so I'm obviously missing something.

In swsusp, the suspend consists of freezing processes, suspending devices, turning off
interrupts, and creating a memory snapshot (the image) in that state (ie of the "frozen"
system). Afterwards the image is in memory and it has to be written to a swap partition.
For this purpose we need to resume some devices, in particular the disk that contains
this swap partition, but it always relies on some other devices that have to be resumed
as well. In principle we could check what devices have to be resumed, but currently
we just resume them all. An additional upside of this approach is that the suspend
and resume code is (almost) identical.

Greetings,
Rafael

--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"