The cpr module is a loadable
module used to suspend and resume the entire system. You may wish to suspend
a system to save power or to power off temporarily for transport. The cpr module should not be used in place of a normal shutdown when
performing any hardware reconfiguration or replacement. In order for the resume
operation to succeed, it is important that the hardware configuration remain
the same. When the system is suspended, the entire system state is preserved
in non-volatile storage until a resume operation is conducted.
dtpower(1m) or power.conf(4)
are used to configure the suspend-resume feature.
The speed of suspend and resume operations can range from 15 seconds
to several minutes, depending on the system speed, memory size, and load.
During resume operation, the SIGTHAW
signal is sent to all processes to allow them to do any special processing
in response to suspend-resume operation. Normally applications are not required
to do any special processing because of suspend-resume, but some specialized
processes can use SIGTHAW to restore
the state prior to suspend. For example, X can refresh
the screen in response to SIGTHAW.
In some cases the cpr module may be unable to perform
the suspend operation. If a system contains additional devices outside the
standard shipped configuration, it is possible that device drivers for these
additional devices might not support suspend-resume operations. In this case,
the suspend fails and an error message is displayed. These devices must be
removed or their device drivers unloaded for the suspend operation to succeed.
Contact the device manufacturer to obtain a new version of device driver that
supports suspend-resume.
A suspend may also fail when devices or processes are performing critical
or time-sensitive operations (such as realtime operations). The system will
remain in its current running state. Messages reporting the failure will be
displayed on the console and status returned to the caller. Once the system
is successfully suspended the resume operation will succeed, barring external
influences such as a hardware reconfiguration.
Some network-based applications may fail across a suspend and resume
cycle. This largely depends on the underlying network protocol and the applications
involved. In general, applications that retry and automatically reestablish
connections will continue to operate transparently on a resume operation;
those applications that do not will likely fail.
|