VMABK Back to Index page
 
Prolog 
Control Block Contents 
   VMABK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  VMABK Prolog Top of page
 
 NAME       : HCPVMABK
 DESCRIPTION: Virtual Machine Activity Block
              =       =       =        =   =
 DSECT      : VMABK
 FUNCTION   : HCPVMABK is an extension of the HCPVMDBK and is used to
              save space in the VMDBK by holding fields that meet all
              of these criteria:
              - needs to exist PER VMDBK,
              - is not relocated, and
              - is referenced infrequently or in non-performance paths
 LOCATED BY : VMDVMABK: VMDBK pointer to the VMABK associated with it.
              When a VMDBK is created, its VMABK is created
              and VMDVMABK is initialized to point to it.
              This pointer never changes for the life of the
              VMDBK/VMABK.  When the VMDBK is deleted, the
              VMABK it points to is also deleted.
 CREATED BY : HCPBVM (when a VMDBK is created)
 DELETED BY : HCPALLFG - origin VMDBK
              HCPSTLDT - non-origin VMDBK
 REFERENCES : NONE
 SERIALIZED : The creation/deletion of the VMABK is serialized by the
              same serialization as the creation/deletion of the VMDBK.
              - VMABK creation requires
              - Console function mode
              - Master CPU dispatch
              - Its VMDBK not yet in the cyclic list
              - VMABK deletion requires
              - An MP delay to be sure that there are no active
              references
              - Master CPU dispatch
              - Its VMDBK removed from the cyclic list
              Fields' serialization is described in fields' comments.
 RELOCATION CONSIDERATIONS : No relocatable fields should be placed in this control
              block.
 COMPATIBILITY AND MIGRATION CONCERNS : NONE
 
 
  VMABK Control Block Content Top of page
 

 VMABK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure VMABK Virtual Machine Activity Block These fields are needed for the PRORATED timer support. They keep track of the VMDBK's PRORATED time when the VMDBK is in a CPUPOOL that is limited by the CAPACITY option. The PRORATED CPU time fields (just like their RAW VMDxxxxx versions) decrease over time and are initialized to: - 0 for the SYSTEM and SYSTEMMP VMDBKs - PFXTMMAX for all other VMDBKs These fields are serialized by the VMDBK dispatch lock. 0000 0 Signed 8 VMATTIME_PRO Session Total CPU time used in PRORATED core time when calculated 0008 8 Signed 8 VMAVTIME_PRO Session Virtual CPU time used in PRORATED core time when calculated 0010 16 Signed 8 VMATTMP_PRO Total virtual and simulation time while running on a primary CPU in PRORATED core time when calculated 0018 24 Signed 8 VMAVTMP_PRO Total virtual time while running on a primary CPU in PRORATED core time when calculated 0020 32 Signed 8 VMATTMS_PRO Total virtual and simulation time while running on a secondary CPU in PRORATED core time when calculated 0028 40 Signed 8 VMAVTMS_PRO Total virtual time while running on a secondary CPU in PRORATED core time when calculated 0030 48 Signed 4 * Reserved for IBM use 0034 52 Bitstring 1 VMAFLAG1 VMABK flag byte 1 1... .... VMAPRCAL X'80' VMAPRCAL Prorated core time has been calculated for this VMDBK since logon or relocate in (1=YES, 0=NO) 0035 53 Bitstring 1 * Reserved for IBM use 0036 54 Signed 2 * Reserved for IBM use These fields are needed for Multithreading relocation support and keep track of the raw CPU time values that were relocated in. A Multithreading disabled system will use these fields to calculate the MT-1 Equivalent time when it is needed (ie: for commands, monitor records, and accounting records) instead of tracking MT-1 Equivalent time on every dispatch. A Multithreading enabled system will not use these fields because that system needs to track MT-1 Equivalent time on every dispatch. Just like their RAW VMDxxxxx versions, these fields decrease over time and are initialized when the user first logs on to: - 0 for the SYSTEM and SYSTEMMP VMDBKs - PFXTMMAX for all other VMDBKs These fields are updated while the VMDBK is a skeleton VMDBK, which is not ready to be dispatched. No other tasks can update these fields at the same time. 0038 56 Signed 8 VMATTIME_RLO Session total raw CPU time when relocated in. 0040 64 Signed 8 VMAVTIME_RLO Session virtual raw CPU time when relocated in. 0048 72 Signed 8 VMATTMP_RLO Total virtual and simulation time while running on a primary CPU in raw CPU time when relocated in. 0050 80 Signed 8 VMAVTMP_RLO Total virtual time while running a primary CPU in raw CPU time when relocated in. 0058 88 Signed 8 VMATTMS_RLO Total virtual and simulation time while running on a secondary CPU in raw CPU time when relocated in. 0060 96 Signed 8 VMAVTMS_RLO Total virtual time while running on a secondary CPU in raw CPU time when relocated in. These fields are needed for accounting record support. The type 1 and type F accounting record include the increase in CPU time since the last accounting record was generated. The following fields are used to keep track of the value of the different CPU Timer fields the last time the type 1 or type F accounting record was generated so this difference can be calculated. The fields are paired up as follows: VMAAxxxxx_MT1 = previous value of VMDxxxxx_MT1 VMAAxxxxx_PRO = previous value of VMAxxxxx_PRO The raw CPU times are tracked as in pre-MT systems: VMDAxxxxx = previous value of VMDxxxxx Just like their RAW VMDAxxxx versions, these fields decrease over time and are initialized when the user first logs on to: - 0 for the SYSTEM and SYSTEMMP VMDBKs - PFXTMMAX for all other VMDBKs These fields are serialized by master-only. 0068 104 Signed 8 VMAATTIME_MT1 Session total CPU time in MT-1 Equivalent time the last time a type 1/F accounting record was generated. 0070 112 Signed 8 VMAAVTIME_MT1 Session virtual CPU time in MT-1 Equivalent time the last time a type 1/F accounting record was generated. 0078 120 Signed 8 VMAATTMP_MT1 Total virtual and simulation time while running on a primary CPU in MT-1 Equivalent time the last time a type 1/F accounting record was generated. 0080 128 Signed 8 VMAAVTMP_MT1 Total virtual time while running a primary CPU in MT-1 Equivalent time the last time a type 1/F accounting record was generated. 0088 136 Signed 8 VMAATTMS_MT1 Total virtual and simulation time while running on a secondary CPU in MT-1 Equivalent time the last time a type 1/F accounting record was generated. 0090 144 Signed 8 VMAAVTMS_MT1 Total virtual time while running on a secondary CPU in MT-1 Equivalent time the last time a type 1/F accounting record was generated. 0098 152 Signed 8 VMAATTIME_PRO Session total CPU time in Prorated Core time the last time a type 1/F accounting record was generated. 00A0 160 Signed 8 VMAAVTIME_PRO Session virtual CPU time in Prorated Core time the last time a type 1/F accounting record was generated. 00A8 168 Signed 8 VMAATTMP_PRO Total virtual and simulation time while running on a primary CPU in Prorated Core time the last time a type 1/F accounting record was generated. 00B0 176 Signed 8 VMAAVTMP_PRO Total virtual time while running a primary CPU in Prorated Core time the last time a type 1/F accounting record was generated. 00B8 184 Signed 8 VMAATTMS_PRO Total virtual and simulation time while running on a secondary CPU in Prorated Core time the last time a type 1/F accounting record was generated. 00C0 192 Signed 8 VMAAVTMS_PRO Total virtual time while running on a secondary CPU in Prorated Core time the last time a type 1/F accounting record was generated. 00C8 200 Dbl-Word 8 * Reserved for IBM use HOST SHARE IPTE INTERLOCK STATISTICS These statistics comprise: 1) a quintuple of metrics that records IPTE Interlock acquisition and wait-time characteristics. <VMAIPTEI, VMAIIA, VMAIIADD, VMAIIWTM, VMAIIWTSSQ> 2) a triple of metrics that records IPTE Interlock continuous hold-time characteristics. <VMAIINHLD, VMAIIHLD, VMAIIHDSSQ> SERIALIZED : Updates to these tuples should be performed while holding the dispatch lock for the VMDBK to which this VMABK relates. The dispatch lock is not required by a reader as long as the following protocol is observed by both reader and writer: 1) On writing a tuple, the marker field (VMAIPTEI or VMAIINHLD) is incremented making it odd. 2) The remaining members of the tuple are updated. 3) The marker field is incremented a second time making an even value of twice the count represented by this field and indicating to readers that the tuple is in a self-consistent update state. A reader should loop taking a copy of the tuple to be extracted until the copied marker field (VMAIPTEI or VMAIINHLD) is even and is equal to the current value in the VMABK. VMAIIFST is associated with the IPTE interlock statistics, but is only maintained in the VMABK of the base VMDBK as an internal value for the purposes of hold-time calculations. The dispatch lock for the base VMDBK is not required. Rather VMAIIFST is only updated by the task that has just incremented the the host share count from zero to one, and is only read by the task that holds a host share. Until that share is released, no other task will update the field. 00D0 208 Signed 8 VMAIIFST TOD Clock when a host share of an IPTE Interlock was acquired from a state of no host-share ownership. This is field is is maintained in the VMABK of the base VMDBK. 00D8 216 Signed 8 VMAIISTA TOD Clock when a host share of an IPTE Interlock was most recently acquired on this virtual CPU. 00E0 224 Signed 4 VMAIPTEI Count of host share IPTE Interlock acquisitions. When odd, an update is in progress for the lock-acquisition stats quintuple. When even, twice the count of times a host share of an IPTE Interlock was acquired using method 1 or 2. 00E4 228 Signed 4 VMAIIA Count of times when a host share of an IPTE Interlock was acquired using method 2. 00E8 232 Signed 4 VMAIIADD Count of times when a host share of an IPTE Interlock was acquired as an additional host share. 00EC 236 Signed 4 VMAIINHLD Count of intervals over which one or more host shares of an IPTE Interlock were continuously held. When odd, an update is in progress for the lock-hold stats triple. When even, twice the count of times a host share was continuously held. 00F0 240 Bitstring 16 VMAIIWTSSQ Sum of squared time spent waiting for a host share of an IPTE Interlock. 0100 256 Dbl-Word 8 VMAIIWTM Cumulative amount of time spent waiting for a host share of an IPTE Interlock. 0108 264 Dbl-Word 8 VMAIIHLD Cumulative amount of time one or more host shares of an IPTE Interlock were continuously held. 0110 272 Bitstring 16 VMAIIHDSSQ Sum of squared time one or more host shares of an IPTE Interlock were continuously held. Scheduling history information Serialized : Scheduler lock exclusive 00000020 VMAHISTSZ 32 Number of entries in scheduling history 0120 288 Dbl-Word 8 VMAOFFSETS (32) Array of accumulators of offsets for which the associated VMDBK has been charged. 0220 544 Dbl-Word 8 VMAOFFSETS_TOTAL Total of all entries in the VMAOFFSETS array. 0228 552 Dbl-Word 8 VMACURINT Most recent scheduling interval in which the associated VMDBK was charged. 00000046 VMASIZE (*-VMABK+7)/8 size in double words 00000230 VMABSIZE VMASIZE*8 size in bytes
 
 
  VMABK Storage Layout Top of page
 
 
*** VMABK - Virtual Machine Activity Block
*
*     +-------------------------------------------------------+
*   0 |                     VMATTIME_PRO                      |
*     +-------------------------------------------------------+
*   8 |                     VMAVTIME_PRO                      |
*     +-------------------------------------------------------+
*  10 |                     VMATTMP_PRO                       |
*     +-------------------------------------------------------+
*  18 |                     VMAVTMP_PRO                       |
*     +-------------------------------------------------------+
*  20 |                     VMATTMS_PRO                       |
*     +-------------------------------------------------------+
*  28 |                     VMAVTMS_PRO                       |
*     +---------------------------+------+------+-------------+
*  30 |///////////////////////////|:FLAG1|//////|/////////////|
*     +---------------------------+------+------+-------------+
*  38 |                     VMATTIME_RLO                      |
*     +-------------------------------------------------------+
*  40 |                     VMAVTIME_RLO                      |
*     +-------------------------------------------------------+
*  48 |                     VMATTMP_RLO                       |
*     +-------------------------------------------------------+
*  50 |                     VMAVTMP_RLO                       |
*     +-------------------------------------------------------+
*  58 |                     VMATTMS_RLO                       |
*     +-------------------------------------------------------+
*  60 |                     VMAVTMS_RLO                       |
*     +-------------------------------------------------------+
*  68 |                    VMAATTIME_MT1                      |
*     +-------------------------------------------------------+
*  70 |                    VMAAVTIME_MT1                      |
*     +-------------------------------------------------------+
*  78 |                     VMAATTMP_MT1                      |
*     +-------------------------------------------------------+
*  80 |                     VMAAVTMP_MT1                      |
*     +-------------------------------------------------------+
*  88 |                     VMAATTMS_MT1                      |
*     +-------------------------------------------------------+
*  90 |                     VMAAVTMS_MT1                      |
*     +-------------------------------------------------------+
*  98 |                    VMAATTIME_PRO                      |
*     +-------------------------------------------------------+
*  A0 |                    VMAAVTIME_PRO                      |
*     +-------------------------------------------------------+
*  A8 |                     VMAATTMP_PRO                      |
*     +-------------------------------------------------------+
*  B0 |                     VMAAVTMP_PRO                      |
*     +-------------------------------------------------------+
*  B8 |                     VMAATTMS_PRO                      |
*     +-------------------------------------------------------+
*  C0 |                     VMAAVTMS_PRO                      |
*     +-------------------------------------------------------+
*  C8 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  D0 |                       VMAIIFST                        |
*     +-------------------------------------------------------+
*  D8 |                       VMAIISTA                        |
*     +---------------------------+---------------------------+
*  E0 |         VMAIPTEI          |          VMAIIA           |
*     +---------------------------+---------------------------+
*  E8 |         VMAIIADD          |        VMAIINHLD          |
*     +---------------------------+---------------------------+
*  F0 |                      VMAIIWTSSQ                       |
*     |                                                       |
*     +-------------------------------------------------------+
* 100 |                       VMAIIWTM                        |
*     +-------------------------------------------------------+
* 108 |                       VMAIIHLD                        |
*     +-------------------------------------------------------+
* 110 |                      VMAIIHDSSQ                       |
*     |                                                       |
*     +-------------------------------------------------------+
* 120 |                                                       |
*     =                      VMAOFFSETS                       =
*     |                                                       |
*     +-------------------------------------------------------+
* 220 |                   VMAOFFSETS_TOTAL                    |
*     +-------------------------------------------------------+
* 228 |                      VMACURINT                        |
*     +-------------------------------------------------------+
* 230
*
*** VMABK - Virtual Machine Activity Block
 
 
  VMABK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
VMAATTIME_MT1  0068
VMAATTIME_PRO  0098
VMAATTMP_MT1   0078
VMAATTMP_PRO   00A8
VMAATTMS_MT1   0088
VMAATTMS_PRO   00B8
VMAAVTIME_MT1  0070
VMAAVTIME_PRO  00A0
VMAAVTMP_MT1   0080
VMAAVTMP_PRO   00B0
VMAAVTMS_MT1   0090
VMAAVTMS_PRO   00C0
VMABSIZE       0228 00000230
VMACURINT      0228
VMAFLAG1       0034
VMAHISTSZ      0110 00000020
VMAIIA         00E4
VMAIIADD       00E8
VMAIIFST       00D0
VMAIIHDSSQ     0110
VMAIIHLD       0108
VMAIINHLD      00EC
VMAIISTA       00D8
VMAIIWTM       0100
VMAIIWTSSQ     00F0
VMAIPTEI       00E0
VMAOFFSETS     0120
VMAOFFSETS_TOTAL
               0220
VMAPRCAL       0034 80
VMASIZE        0228 00000046
VMATTIME_PRO   0000
VMATTIME_RLO   0038
VMATTMP_PRO    0010
VMATTMP_RLO    0048
VMATTMS_PRO    0020
VMATTMS_RLO    0058
VMAVTIME_PRO   0008
VMAVTIME_RLO   0040
VMAVTMP_PRO    0018
VMAVTMP_RLO    0050
VMAVTMS_PRO    0028
VMAVTMS_RLO    0060
 
This information is based on z/VM 6.4.0 Last updated on 24 Aug 2016 at 09:45:07 EDT.
Copyright IBM Corporation, 1990, 2016