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

Pavel Machek
2006-06-16T13:29:39Z

Hi!

> > ? No, I do not think we have any problems with temporary
> > pointers. Memory snapshot is atomic (done on single CPU, with disabled
> > interrupts, no DMAs).
>
> The problem I'm trying to point out is that it's _not_ atomic wrt "save
> the device state".
>
> You've actually worked very hard to make "save device state" and "snapshot
> memory" to be as atomic as possible - by having the device state save also
> basically try to freeze the state.

Agreed.

> And I'm trying to change that.

Okay, but I do not see why? You'd force me to do...

> And that means that the resume must not restore any "temporary pointers".
>
> Now, a lot of hardware doesn't _have_ temporary pointers, but if it has
> things like a DMA ring with pointers to buffers (network drivers do this,
> for example), then you need to realize that if the that ring is _not_
> atomic wrt the memory snapshotting if packets were still coming in
> (packets that you didn't even care about).

...some magic, involving driver knowing which pointers are temporary
and which are not, possible leaking memory.

> It's an inconvenience that needs a strategy, and the strategy can range
> from "refuse to do networking during suspend if we're suspendign to disk"
> to "various MM things to make it easier to handle" to "if you use
> networking during the suspend, you migth possibly leak some memory".

It's a pretty big inconvenience, and I do not see a point.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html