Obtaining dispatchability data about address spaces (IEAMRMF3 macro)

The IEAMRMF3 macro provides the following information about address spaces:
  • How many address spaces are currently running on a processor
  • Whether a specific address space is running on a processor
  • How many address spaces are dispatchable, but not currently running on a processor.

For information about dispatchability of enclaves, use the IWMRQRY macro. For information about how to use IWMRQRY, see z/OS MVS Programming: Workload Management Services.

Before invoking IEAMRMF3, your program must obtain storage in which the system returns the dispatchability data. The returned information is an array of elements, each of which represents an address space; the array is mapped by the IHADSD mapping macro. For each potential address space in the system, your program can check two bits in the element to determine whether the address space:
  • Is running on a processor
  • Is dispatchable, but not actually running on a processor.

An address space can have both bits set to one. For example, both bits are set to one for a multitasking address space where at least one task is running on a processor and at least one task is dispatchable, but not running on a processor.

An address space can have both bits set to zero. Both bits are set to zero for an address space that does not exist, or an address space that is swapped out, or an address space with no dispatchable work.

You can search through the array in one of two ways:
  • Use an ASID as an index into a specific element in the array.
  • Use the value in the DSDINDXF field (in the header) as the index to the first element that represents an address space that has dispatchable work. From that element, use the value in the DSDINDXN field to find the next element, and so forth through the array. In this way, you look at only those elements that represent address spaces that have dispatchable work.

See z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG for information about coding the IEAMRMF3 macro and an example of searching through an array for dispatchability data. For the structure of the IHADSD mapping macro, see the DSD data area in z/OS MVS Data Areas in the z/OS Internet library.