Software Suspend [was Re: APM "SuspendToDisk" implementation

Gabor Kuti (ksx@sch.bme.hu)
Thu, 26 Nov 1998 17:35:46 +0100 (MET)


> I think the point is sometimes the IDE driver can't properly recover
> in this situation. There are really two ways to properly fix suspend:
>
> 1. Device drivers can be "bullet proofed" to the point that they can
> recover automatically from a complete loss of device state.
>
> 2. Drivers can be made APM-aware, so that they directly handle APM
> suspend and resume notifications.
>
> I think both are desirable. Strange things happen and drivers should
> be fault tolerant. This doesn't have to be horribly expensive... it
> might just mean sanity checking status values in a few key places, and
> having the ability to do a from-scratch initialization of a device if
> all else fails. And even if drivers can blindly recover from a
> suspend, eventually we won't be satisfied with spewing messages about
> unresponsive devices whenever a system is resumed, and we'll want to
> distinguish this situation from a genuine hardware problem.
I'm working on a Software Suspend right now.
Today I've had my first _real_ success when the saved state came back and
worked without oops :)
Still I have left fairly quantity of work but today it showed me that it
is all possible [I started to lose my faith]

I will need to make a register_suspend function which calls the registered
drivers/etc by resuming so they can restore state [they are registered by
boot]. I think this could be useful for APM suspend too. I did not get
into it too deeply yet tough. [I'm happy that reloading works].
[My program creates a filename called /suspend.img and saves there what
could not be swapped out, so I don't waste a byte]. In case of any
interest prototype should be here soon [I have other works to do :((]

Ps: right now is is called CONFIG_MACHINE_SUSPEND. Should I rename it
CONFIG_SOFTWARE_SUSPEND in order not to confuse with laptop's hw suspend?

Seasons
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
"One who has time to complain has time to submit patches." <chinese proverb>
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/