Scheduling an SRB in an Independent Enclave
Suppose an address space representing a subsystem uses the specialized
processing services of a supporting address space to satisfy a work
request. The subsystem creates an independent enclave that is used
by an SRB executing in the supporting address space on behalf of the
work request. Part of the work request executes under an SRB in the
subsystem address space, so that SRB uses the same enclave.
Figure 7 shows the two address spaces.
Figure 7. Creating an Independent Enclave and Scheduling an SRB
- Connect as a work manager
Subsystem address
space A issues IWM4CON to connect to workload management with WORK_MANAGER=YES
specified or defaulted. This makes work management services, including
enclave services, available to the connecting address space.
- Create enclave Z
Subsystem address space
A wants to manage multiple SRBs (SRBs 1 and 2) as a unit, so address
space A creates an independent enclave Z by issuing IWM4ECRE. Subsystem
address space A is the home address space, and is the owner of enclave
Z. Any work that the subsystem and its supporting address space B
process can be managed as an enclave. Classification information is
passed in with IWM4ECRE so workload management can assign the enclave to a service
class or performance group and manage to those goals.
For
more information, refer to Performance Management of Address Spaces with Enclaves.
- Schedule SRB 1 into enclave Z
The subsystem
address space then schedules an SRB, SRB 1, to execute in its own
address space and to be managed as part of enclave Z, using the IEAMSCHD
macro:
IEAMSCHD ENV=PRIMARY,
EPADDR=entry_point_address,
PRIORITY=ENCLAVE,
ENCLAVETOKEN=tokenZ
Where the subsystem address space
has defined:
tokenZ FL4 The enclave token for enclave Z
- Schedule SRB 2 into enclave Z
The subsystem
address space then schedules an SRB (SRB 2) to execute in supporting
address space B and to be managed as part of enclave Z, using the
IEAMSCHD macro:
IEAMSCHD ENV=STOKEN,
TARGETSTOKEN=tokenB,
EPADDR=entry_point_address,
PRIORITY=ENCLAVE,
ENCLAVETOKEN=tokenZ
- Wait for the SRBs to complete and delete enclave
Z
The subsystem waits for the SRBs to complete the request,
then deletes the enclave using the IWM4EDEL macro and returns to the
caller.
|