When you design a program to dump storage for diagnostic purposes,
you make decisions based on several factors, two of which are: the
environment in which the program runs, and the address spaces for
which you want storage dumped. These factors determine which parameters
you code on the SDUMPX macro, which, in turn, determine the type of
SVC dump MVS™ produces.
- If your program is in supervisor state with PSW key 0, and meets
at least one of the following conditions, you can request branch entry
into dump processing:
- The program runs in SRB mode
- The program holds any lock
- The program has established an enabled, unlocked task (EUT) FRR.
To request a branch entry, code BRANCH=YES. A branch entry
causes MVS to
produce a scheduled dump, which offers a potential
performance advantage because your program can continue processing
as soon as dump processing begins. However, use caution when you
code BRANCH=YES; if you do not synchronize your program's processing
with dump processing, the dump might not contain valuable data.
- If your program does not meet the environmental restrictions in
the preceding item, you must code BRANCH=NO. For BRANCH=NO, the parameters
you code to identify storage determine the type of dump MVS produces:
- If the parameters you coded identify only the primary address
space or global data spaces, MVS produces a synchronous
dump.
- If the parameters you coded identify address spaces other than,
or in addition to, the primary address space, MVS produces a scheduled
dump.
When MVS produces
a synchronous dump, your program cannot run until the capture phase
of dump processing completes. However, when MVS produces a scheduled dump,
your program can continue its processing as soon as dump processing
begins. Because of this difference in processing, you might make
different design decisions based on the type of dump MVS produces. To design your program,
you need to know which SDUMPX parameter combinations produce each
type.