Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls Reference Manual522629-013
I-1
I
Using the DIVER and DELAY
Programs
This appendix describes the DIVER and DELAY programs which you can use to
supplement the testing of an application program that runs as a process pair. DIVER
causes a specified processor to fail and then prepares the processor for reload.
DIVER can be used with DELAY to cause repeated failures and reloads of the
processors in a system. This failure cycle allows you to test an application for fault
tolerance while the processors are being halted and reloaded.
Running the DIVER Program
You run the DIVER program in a processor selected to fail. DIVER stops the processor
such that it no longer transmits its “I’m alive” message. Because the other processors
in the system do not receive this message, they collectively declare that the processor
has failed. The difference between a processor halt and a processor running the
DIVER program is that a processor halt results in the report of a processor halt code
and a potential system freeze; a processor running the DIVER program results in the
report of the processor event message ZCPU-EVT-DIVER. For more information on
this event message, refer to the
NonStop Kernel Event Management Programming
Manual.
Note the following cautions when running the DIVER program
When running the DIVER program, it is recommended that the processor run-
option always be included. Otherwise, the processor in which DIVER is
intended to run is chosen by the normal process creation rules, which might
not place it in the processor that you intend to fail.
If there is a $CMON process running in the system, it might affect the choice of
processor where DIVER will run. Unless you are sure that the $CMON
process will not alter the processor specified in the DIVER command, stop
$CMON before running DIVER.
Do not use DIVER to try to halt a processor in order to get a dump. When
setting up the processor for a RELOAD command, DIVER destroys its memory
contents. Consult the operations guide for your system type for details on
taking dumps.
After stopping the processor, DIVER sets up the processor for a RELOAD command,
as if a processor reset and load operation occurred. You can then reload the
processor.
Before DIVER brings down a processor, it verifies the following two conditions:
The requester’s process access ID (PAID) indicates that the requester is a member
of the super group.