swsusp & modules [was Re: [linux-pm] [Fwd: Re: PM messages]]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux