If you cannot accomplish the above process, you can reboot the domain with the
board blacklisted (see blacklist(4)), so the board can be removed later.
Note – Many third-party drivers (those purchased from vendors other than Sun
Microsystems) do not support the standard Solaris modunload(1M) interface.
Conditions that invoke the functions occur infrequently during normal operation
and the functions are sometimes missing or work improperly. Sun Microsystems
suggests that you test these driver functions during the qualification and installation
phases of any third-party device.
DR and DDI_SUSPEND/DDI_RESUME
To perform a DR Detach of a board that contains nonpageable memory, the domain
must be quiesced. Memory can be detached only when all of the drivers throughout
the entire domain (not just on the board being detached) either support the
DDI_SUSPEND/DDI_RESUME driver interface, or are closed. Drivers that support
these DDI functions are called suspend-safe; drivers that do not are called suspend-
unsafe.
The most straightforward way to quiesce a domain is to close any suspend-unsafe
devices. For each network driver you must execute the ifconfig(1M) command
with its down parameter, then again with its unplumb parameter (see
ifconfig(1M) for more information).
Note – It should be possible to unplumb all network drivers. However, this action is
rarely tested in normal environments and may result in driver error conditions. If
you use DR, Sun Microsystems suggests that you test these driver functions during
the qualification and installation phases of any suspend-unsafe device.
If the system refuses to quiesce because a suspend-unsafe driver is open, you can force
the operating domain to quiesce. Doing so forces the operating environment to
permit the detach. Note that, although a detach can be forced to proceed when there
are open suspend-unsafe devices in the system, it is not possible to force a detach
when a detach-unsafe device resides on the board and its driver is loaded.
To successfully force the operating environment to quiesce, you must manually
quiesce the controller. Procedures to do that, if any, are device-specific. The device
must not transfer any data, reference memory, or generate interrupts during the
operation. Be sure to test any procedures used to quiesce the controller while it is
open prior to executing them on a production system.
Chapter
15
Need help?
Do you have a question about the Sun Enterprise 10000 Dynamic and is the answer not in the manual?