On Thu, 28 Oct 2004, Pavel Machek wrote: > Well, for example disk driver certainly needs interrupt controller and > timer devices to be working... Disk itself does not care about timer > devices, but driver certainly needs them. > > And it is this kind of dependencies that would make it "interesting". I'm not disputing those dependencies, but there seems to be something wrong. If we're writing the image with interrupts enabled, we've either not suspended the system devices (which means we're not saving their state), or we've re-enabled interrupts (which may cause some bad things if some system devices are disabled). If we're writing with interrupts disabled, then the timers and IRQ seem to be irrelevant. What am I missing? > > > Ouch and if you powerdown vga in "freeze" phase, user sees no > > > progress and debugging swsusp is now impossible. > > > > That's actually another reason why it'd be good to differentiate between > > 'stopping' a device and 'powering it down'. We can temporarily freeze the > > video device, save it's state, then re-enable it to continue writing to > > the screen. Ditto for the swap device. > > Yes, that's what everyone wants to do. Not all devices need to do that - only the console device and the target device we're writing to (and all of their ancestors) > > Hrm. Maybe we should do: > > > > - Stop > > - Save > > - Restart > > > > On each device as we walk the tree. That way we would never have to worry > > about the swap device being stopped before we allocated memory for all > > devices. We would also have the ability to separate that action from > > actually powering the device down, too. > > Eh? If you have Save after Stop, how are you going to allocate memory > for save? How can you Save before you Stop? For each device, it needs to be in a consistent and quiescent state before you save its state. > I'd try not to overcomplicate it. Current sequence seems to work quite > okay. It only got interesting for ipw2100. Look, I'm not trying to 'overcomplicate' anything. I'm not even trying to change things. I'm just trying to build a consistent set of terminology and truisms that we can agree on so when we start talking about actually changing things, we all have a shared consciousness about what we're doing. The fact that we disagree on basic stuff like this is indicative of a strong dissonance between all of us. What's obvious to you is not obvious to me, vice versa, and ditto for David, Ben, etc. Pat