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

Pavel Machek
2006-06-16T12:49:19Z

Hi!

> > Here's what you actually did say:
> > ---------
> >
> > > To have DMAs stopped, you need to "freeze" the devices.
> >
> > No you don't.
> >
> > You need to stop the high-level _queues_, but that's something totally
> > different from actually stopping the _devices_.
>
> Right.
>
> What you _do_ need to do, is stop the user-level actions.

Well, user-level actions are stopped because of refrigerator.

> Before you suspend, you need to make the machine quiescent, in other
> words. The devices are still working, but you really really don't want to
> do this while things are still _happening_.
>
> Now, with suspend-to-RAM, I suspect we could even avoid that until the
> very last phase (ie the actual suspend code). But quite frankly, from a
> pure debuggability standpoint, I do think we want to basically try to make
> everything as quiet as humanly possible.

Suspend-to-RAM theoretically does not need any kind of stopping, and
on ppc (IIRC) no stopping is really done. For suspend-to-disk, both
user actions (so that they do not write to disk after atomic copy is
done) and DMA (so that atomic image is not corrupted) needs to be
stopped.

> So think about what we do now: We special-case X, and we special-case the
> save-to-disk device, and we special-case the console printouts, and we
> special-case a lot of other things, AND WE STILL GOT IT WRONG. Try
> using

Actually no, we are not special-casing the disk device. There was
discussion about doing that, but it is not going to happen.

X are special, because they are user-level hardware driver. If/when we
meet more user-level hardware drivers, we'll have to invent something
extensible.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html