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

Pavel Machek
2007-04-25T23:28:42Z

Hi!

> > > 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).

I'd prefer thaw to be similar to module insert, yes.

> 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.

I'd actually prefer resume to be similar to module insert, too... Do
you think that resume is _that_ time critical?

> 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.

[I'd like you to drop me a line saying you understand current design
and that it works -- even if it is very inelegant]

Now, we can separate suspend/freeze and resume/thaw (with some common
helpers). It will speed the code up by avoiding unneccessary
operations. It also needs attetion from driver writers (ouch).

Do we want to do that?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html