On Thu, 15 Jun 2006, Pavel Machek wrote: > > Well, it is right that separation as you suggest is possible... but it > is quite different from current system. And if someone does suspend > (instead of freeze) -- no harm is done -- it just takes > longer. Sure, harm IS done. 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). (Right now, we actually end up saving firmware in kernel memory or do things like that, so that we can resume it. That's really a hack for the bigger problem of not having multiple stages of save/restore.) It's not just firmware. It could be things like devices that literally have user processes handling connection setup etc for them. So the whole notion of mixing "save state" and "suspend" is fundamentally wrong. It has _always_ been wrong. And it's very fundamentally wrong in a way that makes me say that unless you can separate the two (not just in a technical sense, but in the sense of how people literally _think_ about the suspend problem), we can probably _never_ fix the deeper issues. Linus