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 - PRCRCD FUNCTION - Map a Monitor record. LOCATED BY - Through the Monitor Control Area REFERENCED CONTROL BLOCKS - MRRECHDR Monitor Record Header NAME - MRPRCRCD DESCRIPTIVE NAME - Monitor Sample Record Domain 5 - Processor Domain Record 17 - Real CPU Data (per CPU) DESCRIPTION - Provides data related to a real CPU in the partition. A separate record is generated for each real CPU. When this record is present in monitor data, this record and Domain 5 Record 18 should be used instead of Domain 5 Record 3. Domain 5 Records 17 and 18 are intended to replace Domain 5 Record 3. NOTE: When a field in this record uses the term "CPU/core", the meaning of the field changes based on whether Multithreading (MT) is enabled for this partition. Refer to Monitor Sample Record Domain 1 Record 4 (MRMTRSYS) to determine whether MT is enabled for this partition as well as the number of threads for each CPU type. When MT is not enabled, a physical core contains only one CPU: - CPU : central processing unit (processor). - CORE : physical unit containing one CPU. In this environment the core has 1 thread, the term thread is not used, and the term "CPU" is generally favored over the term "core". When MT is enabled, a physical core contains one or more CPUs (aka "threads"): - CPU : central processing unit (processor). Identified by CPU address which consists of core ID and thread ID. - CORE : physical unit containing one or more CPUs (aka "threads"). All CPUs of a core have the same CPU type. - THREAD: synonym for a CPU that is a memeber of a core. Each thread on a core has a distinct thread ID (TID), numbered from 0 up to the maximum thread ID available on the core.
MRPRCRCD Control Block Contents
Offsets Dec Hex Type Len Name (Dim) Description 0 0 Structure 64+ PRCRCD Start of monitor record 0 0 Character 0 PRCRCD_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 Unsigned 2 PRCRCD_PFXCPUAD Processor's CPU address 22 16 Unsigned 2 * Reserved for IBM use 24 18 Unsigned 4 PRCRCD_PFXDSPCS Count of 'long paths' through the dispatcher. This is roughly the number of times a different user was selected to be dispatched. It includes also the number of times a running user was examined to see if it should continue to run, and was selected to run again (no switch made). 28 1C Unsigned 4 PRCRCD_PLSDSPCM Count of times a VMDBK was chosen to be dispatched, then had to be moved to the master processor for master-only work. This is the only time work will be passed from a non-master-processor to another processor. 32 20 Character 8 PRCRCD_CALUDED If processor is dedicated, this is the userid to which it is dedicated. Otherwise, the field is binary zeros. 40 28 Unsigned 1 PRCRCD_PFXTYPE Host CPU usage type identifier. Processor type is: X'14' = Master Processor X'1E' = Dedicated Processor X'28' = Alternate Processor X'32' = Parked Processor 41 29 Unsigned 1 PRCRCD_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) 42 2A Unsigned 1 PRCRCD_PFXSTATE CPU Operating Status. Valid values: 000 x'00' CPU is online and available 022 x'16' Attempting to quiesce this CPU so it can be taken offline 044 x'2C' CPU has been quiesced and is in disable wait state so it can be taken offline 055 x'37' CPU is check-stopped 066 x'42' CPU is now logically offline 110 x'6E' CPU is physically offline 238 x'EE' CPU is in an unknown state (SIGP communication failure) 130 x'82' CPU is being brought online 43 2B Unsigned 1 PRCRCD_PFXPOLAR Current polarization of the CPU/core. It is one of 4 possible values: X'00' - The CPU is X'00' - The CPU is horizontally polarized X'01' - The CPU is vertically polarized with low entitlement X'02' - The CPU is vertically polarized with medium entitlement X'03' - The CPU is vertically polarized with high entitlement Note that while z/VM does not park horizontally polarized CPUs/cores, it is possible to observe a parked horizontal CPU/core. This can occur during the transition between vertical and horizontal polarization. Shortly following this transition, z/VM will unpark any parked horizontal CPUs/cores. 44 2C Unsigned 4 PRCRCD_CALENTMT For vertical CPUs/cores (PRCRCD_PFXPOLAR <> X'00'), this is a scaled number between X'00000000' and X'00010000' representing the portion of a physical CPU/core to which this vertical CPU/core is entitled. This value is X'00000000' for a horizontal CPU/core. When MT is enabled, this core value is repeated in the monitor record of each CPU in the core. These values are not to be added up across the core. 48 30 Unsigned 2 PRCRCD_RCCTOPDI DSVBK index for CPU. If processor is not a member of any active Dispatch Vector Block, it contains all ones. 50 32 Unsigned 1 PRCRCD_MAXTOPO Maximum number of topology levels currently architected. This value defines upper boundary of a dimension of the PRCRCD_PLSSTLTL array. 51 33 Unsigned 1 PRCRCD_SIZTOPDS This value defines the size (in bytes) of the PRCRCD_RCCTOPDS field. 52 34 Unsigned 2 PRCRCD_OFFTOPDS Offset within this record to the beginning of the PRCRCD_RCCTOPDS field. 54 36 Unsigned 2 PRCRCD_OFFSTLTL Offset within this record to the beginning of the PRCRCD_PLSSTLTL array. 56 38 Unsigned 1 PRCRCD_CALMNEST When the configuration- topology facility is installed, this is the selector 2 (x) value used by CP on the STSI 15.1.x to obtain CPU topology information. When the configuration-topology facility is not installed, this contains a value of 1. This value is used to determine the number of valid entries in the PRCRCD_PLSSTLTL array. 57 39 Character 3 * Reserved for IBM use. 60 3C Unsigned 4 PRCRCD_PLSTSEAR Count of times a time slice ended early because the guest loaded a wait state within the TSEARLY threshold 64 40 Character 0 * Additional fields may be inserted before here. Use offsets to locate any fields after this point. 0 0 Bit 32 PRCRCD_RCCTOPDS This topology descriptor or identifier consists of the container IDs for each level of the topology tree above the dispatch vector specified in PRCRCD_RCCTOPDI. These container IDs are positioned left to right with the highest nesting level listed first. When MT is enabled, this value is given for each thread (CPU) in the core and indicates which dispatch vector each CPU is drawing work from. 0 0 Unsigned 4 PRCRCD_PLSSTLTL(0:MAXTOPO) Array of counters indicating how many times this CPU stole a VMDBK across different topology levels. Entry 0:Count of times this CPU stole a VMDBK from a DSVBK that is in an equivalent nesting level 1 (NL1) topology location. Entry 1:Count of times this CPU stole a VMDBK from a DSVBK in a different nesting level 1 (NL1) topology location but the same NL2 location. Entry 2:Count of times this CPU stole a VMDBK from a DSVBK in a different nesting level 2 (NL2) topology location but the same NL3 location. Entry 3:Count of times this CPU stole a VMDBK from a DSVBK in a different nesting level 3 (NL3) topology location but the same NL4 location. Entry 4:Count of times this CPU stole a VMDBK from a DSVBK in a different nesting level 4 (NL4) topology location but the same NL5 location. Entry 5:Count of times this CPU stole a VMDBK from a DSVBK in a different nesting level 5 (NL5) topology location. PRCRCD_OFFSTLTL should be used to locate the start of this array. Only the first PRCRCD_CALMNEST entries contain valid data. * * Character 0 PRCRCD_END
MRPRCRCD 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 PRCRCD 0 64+ PRCRCD_CALENTMT 2C 4 PRCRCD_CALMNEST 38 1 PRCRCD_CALUDED 20 8 PRCRCD_END * * PRCRCD_MAXTOPO 32 1 PRCRCD_MRHDR 0 0 PRCRCD_OFFSTLTL 36 2 PRCRCD_OFFTOPDS 34 2 PRCRCD_PFXCPUAD 14 2 PRCRCD_PFXCPUTY 29 1 PRCRCD_PFXDSPCS 18 4 PRCRCD_PFXPOLAR 2B 1 PRCRCD_PFXSTATE 2A 1 PRCRCD_PFXTYPE 28 1 PRCRCD_PLSDSPCM 1C 4 PRCRCD_PLSSTLTL 0 * PRCRCD_PLSTSEAR 3C 4 PRCRCD_RCCTOPDI 30 2 PRCRCD_RCCTOPDS 0 * PRCRCD_SIZTOPDS 33 1
This information is based on z/VM V6R4.0.
Last updated on 5 Oct 2016 at 13:50:15.
Copyright IBM Corporation, 1990, 2016