Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and suspend2: hang in atomic copy)

Linus Torvalds
2007-04-25T23:11:30Z

On Thu, 26 Apr 2007, Pavel Machek wrote:
> >
> > I don't understand how you can even *claim* something like that.
>
> BTW most problems are in thaw/resume functions.

And do you realize that the thaw/resume functions are totally different
too?

Or rather, they *would* be, if you allowed them to.

For example, for "snapshot + thaw", the _sane_ thing is to actually make
the snapshot just throw away all the DMA tables etc, and let the thawing
just do a full initialization (as it did on boot). It basically needs to
do that anyway, and it simplifies the whole thing (ie you don't even
*want* to save things like the DMA command queues etc - the ones that will
quite often be stepped on by the final "write snapshot to disk" stuff
anyway).

For suspend to ram, in contrast, since you *know* that nobody will be
touching the hardware, and since the timings are very different anyway
(you'd hope that you can resume in a second or two), you'd generally want
to keep the DMA engine tables right where they are, and just literally
suspend the PCI chip itself.

See? Again, *nothing* in common.

You think they have things in common just because your whole (incorrect)
mindset has _forced_ them to have things in common, becasue your setup
stupidly thinks that "resume" is the same as "thaw", the same way you
think "freeze" is the same as "suspend".

NEITHER is true. You've _made_ them true in your mind, but there's
absolutely zero reason that they *should* be true.

Linus