Programming Interface Information:
The Monitor Records are intended Programming Interfaces that
allow the customer to write programs to obtain services of z/VM.
Control Block Contents
DSECT NAME - PRCDSV FUNCTION - Map a Monitor record. LOCATED BY - Through the Monitor Control Area REFERENCED CONTROL BLOCKS - MRRECHDR Monitor Record Header NAME - MRPRCDSV DESCRIPTIVE NAME - Monitor Event Record Domain 5 - Processor Record Record 15 - Dispatch Vector Assignments DESCRIPTION - Describes the assignment of logical CPUs to dispatch vectors. Several CPUs may share a common dispatch vector from which they select user work to run. This record provides that mapping so it can be understood which CPUs are selecting from a common work queue. The reverse mapping may also be interesting. That is, when looking at data provided for a dispatch vector, the ability to know which CPUs are associated with that dispatch vector. NOTES - 1. For additional information about the format and meaning of the PRCDSV_RCCTOPDA entries in this record, knowledge of system topology as reported by the STSI instruction is necessary. For a description of system topology, refer to the following book: - Principles of Operation for the layout of the variable length STSI 15.1.x output which is documented in Chapter 10 under "STORE SYSTEM INFORMATION". Anyone looking at the STSI data in this record should read about the format of the data and the CPU Topology Overview contained there. (SA22-7832-08)
MRPRCDSV Control Block Contents
Offsets Dec Hex Type Len Name (Dim) Description 0 0 Structure 44+ PRCDSV Start of monitor record 0 0 Character 0 PRCDSV_MRHDR Record header. See MRRECHDR for details. 0 0 Character 20 MRHDR 0 0 Unsigned 2 MRHDRLEN 2 2 Unsigned 2 MRHDRZER 4 4 Unsigned 1 MRHDRDM 5 5 Unsigned 1 * 6 6 Unsigned 2 MRHDRRC 8 8 Character 8 MRHDRTOD 16 10 Character 4 * 20 14 Character 0 MRHDR_END 20 14 Character 8 PRCDSV_RCCDSVTM Timestamp of the most recent DSVBK association change 28 1C Unsigned 4 PRCDSV_RCCDSVCH Cumulative count of times DSVBK association has changed. 32 20 Unsigned 2 PRCDSV_MAXRPROC Count of entries in valid mask and tables. This value defines the number of entries in the PRCDSV_RCCTOPDA and PRCDSV_CALINFO arrays, and the number of bits in the PRCDSV_RCCVALID bit mask. 34 22 Unsigned 2 PRCDSV_OFFTOPDA Offset within this record to the beginning of the PRCDSV_RCCTOPDA array. 36 24 Unsigned 2 PRCDSV_OFFVALID Offset within this record to the beginning of the RCCVALID array. 38 26 Unsigned 1 PRCDSV_SIZTOPDA The size in bytes of one entry of the PRCDSV_RCCTOPDA array. 39 27 Bitstring 1 PRCDSV_CALCONFIG Configuration flags 1... .... * .1.. .... PRCDSV_DEDICATED Running in a dedicated partition. ..1. .... * ...1 .... * .... 1... * .... .1.. * .... ..1. * .... ...1 * 40 28 Unsigned 2 PRCDSV_OFFINFO Offset within this record to the beginning of the PRCDSV_CALINFO array. 42 2A Unsigned 1 PRCDSV_SIZINFO The size in bytes of one entry of the PRCDSV_CALINFO array 43 2B Character 1 * Reserved for IBM use. 44 2C Character 0 * Additional fields may be inserted before here. Use offsets to locate any fields after this point. 0 0 Character * PRCDSV_RCCTOPDA(0:MAXRPROC-1) Topology description array. Describes the system topology of each processor. Indexed by CPU address. PRCDSV_MAXRPROC should be used to determine the count of entries of this array. PRCDSV_OFFTOPDA offset should be used to locate the start of this field. PRCDSV_SIZTOPDA determines the size (in bytes) of one array entry. 0 0 Unsigned 2 PRCDSV_RCCTOPDI Dispatch vector id to which a CPU is associated. 2 2 Unsigned 4 PRCDSV_RCCTOPDS This topology descriptor or identifier consists of the container IDs for each level of the topology tree above the dispatch vector specified in PRCDSV_RCCTOPDI. These container IDs are positioned left to right with the highest nesting level listed first. 6 6 Unsigned 2 * Reserved for IBM use. 0 0 Character * PRCDSV_CALINFO(0:MAXRPROC-1) Miscellaneous processor information, including its entitlement, polarity, CPU type, and for dedicated processors, the use ID to which it is dedicated. PRCDSV_MAXRPROC should be used to determine the count of entries in this array. PRCDSV_OFFINFO offset should be used to locate the start of this field. PRCDSV_SIZINFO determines the size (in bytes) of one array entry. 0 0 Unsigned 4 PRCDSV_CALENTMT For vertical CPUs, (PRCDSV_PFXPOLAR <> X'00), this is a scaled number between X'00000000' and X'00010000' representing the portion of a physical CPU to which this vertical CPU is entitled. This value is X'00000000' for a horizontal CPU. When PRCDSV_PFXTYPE=X'00', this field is not valid and contains binary zeroes. 4 4 Unsigned 1 PRCDSV_PFXPOLAR Current polarization of the CPU. Valid values: X'00' - Horizontally polarized X'01' - Vertically polarized with low entitlement X'02' - Vertically polarized with medium entitlement X'03' - Vertically polarized with high entitlement Note that while z/VM does not park horizontally polarized CPUs, it is possible to observe a parked horizontal CPU. This can occur during the transition between vertical and horizontal polarization. Shortly following this transition, z/VM will unpark any parked horizontal CPUs. When PRCDSV_PFXTYPE = X'00', this field is not valid and contains binary zeroes. 5 5 Unsigned 1 PRCDSV_PFXTYPE Host CPU usage type identifier. Processor type is: X'00' = CPU is not operational X'14' = Master Processor X'1E' = Dedicated Processor X'28' = Alternate Processor X'32' = Parked Processor 6 6 Unsigned 1 PRCDSV_PFXCPUTY CPU Type. Valid values: X'00' - General Purpose (CP) X'02' - zSeries Application Assist (zAAP) X'03' - Integrated Facility for Linux (IFL) X'04' - Internal Coupling Facility (ICF) X'05' - zSeries Integrated Information (zIIP) When PRCDSV_PFXTYPE = X'00', this field is not valid and contains binary zeroes. 7 7 Unsigned 1 * Reserved for IBM use. 8 8 Character 8 PRCDSV_CALUDED If processor is dedicated, (PRCDSV_PFXTYPE = X'1E'), this is the user ID to which it is dedicated. Otherwise, the field is binary zeroes. 0 0 Bitmap * PRCDSV_RCCVALID(MAXRPROC) Mask of valid table entries. PRCDSV_MAXRPROC should be used to determine the length (in bits) of this field. PRCDSV_OFFVALID offset should be used to locate the start of this field. * * Character 0 PRCDSV_END
MRPRCDSV Cross Reference
Hex Hex Name Offset Length Value MRHDR 0 20 MRHDR_END 14 0 MRHDRDM 4 1 MRHDRLEN 0 2 MRHDRRC 6 2 MRHDRTOD 8 8 MRHDRZER 2 2 PRCDSV 0 44+ PRCDSV_END * * PRCDSV_CALCONFIG 27 1 PRCDSV_CALENTMT 0 4 PRCDSV_CALINFO 0 * PRCDSV_CALUDED 8 8 PRCDSV_DEDICATED 27 40 PRCDSV_MAXRPROC 20 2 PRCDSV_OFFINFO 28 2 PRCDSV_OFFTOPDA 22 2 PRCDSV_OFFVALID 24 2 PRCDSV_PFXCPUTY 6 1 PRCDSV_PFXPOLAR 4 1 PRCDSV_PFXTYPE 5 1 PRCDSV_RCCDSVCH 1C 4 PRCDSV_RCCDSVTM 14 8 PRCDSV_RCCTOPDA 0 * PRCDSV_RCCTOPDI 0 2 PRCDSV_RCCTOPDS 2 4 PRCDSV_RCCVALID 0 * PRCDSV_SIZINFO 2A 1 PRCDSV_SIZTOPDA 26 1
This information is based on z/VM V6R4.0.
Last updated on 5 Oct 2016 at 13:46:15.
Copyright IBM Corporation, 1990, 2016