Re: [PATCH 2/2] Fix console handling during suspend/resume

Alan Stern
2006-06-15T20:30:45Z

On Thu, 15 Jun 2006, Linus Torvalds wrote:

> Suspending a device before everybody else has saved their state is
> fundamentally and deeply wrong. You do not know whether other devices
> might need that device for their state save.
>
> You may, for example, have devices that literally have so much state that
> they need user help to save it - which in turn means that they must be
> saved before you have suspended other and UNRELATED devices. X itself is
> actually an example of this, but so might be anything with firmware, for
> example).

If this happens you're already in trouble. It doesn't matter that the
unrelated devices aren't suspended; the fact that they have already saved
their state and will no longer respond to outside stimuli means they can't
be used. Not to mention that their I/O queues won't be running.

Suppose a driver needs to store its state info on a networked drive and
the network interface has already saved _its_ state? Or it needs to
access a USB drive and the USB controller is no longer doing DMA?

There is a clear need for a partial ordering of devices. If device A
needs to use device B to save its state, then A's state must be saved
before B's.

Alan Stern