SMTBK | Back to Index page

| Prolog Control Block Contents SMTBK 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.

SMTBK Prolog | Top of page

     NAME       : HCPSMTBK
     DESCRIPTION: SMT RELATED DATA AREAS
     DSECT      : SMTBK
     FUNCTION   : Fields used for SMT related processes
     LOCATED BY :
                  HCPRCCMT - SMT Related Data Structures
     CREATED BY :
                  System initialization
     DELETED BY :
                  System termination
     SERIALIZED : These fields are serialized by the Vary
                  Processor Lock (HCPRCCVA).
     RELOCATION CONSIDERATIONS : None

SMTBK Control Block Content | Top of page

     SMTBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SMTBK          SMT RELATED DATA AREAS
          START OF MULTITHREADING CONFIGURATION DATA.
          Multithreading(MT) facility related fields.
    0000    0 Bitstring    1 SMTMTRSM       MT not enabled reason mask
              1... ....      SMTMTNTI       X'80' SMTMTNTI MT facility is not
                                            installed
              .1.. ....      SMTMT390       X'40' SMTMT390 ESA/390 or GENERAL
                                            LPAR mode
              ..1. ....      SMTMTLCP       X'20' SMTMTLCP LINUX only LPAR
                                            with CP processors
              ...1 ....      SMTMTCRF       X'10' SMTMTCRF Missing
                                            corequisite facilities
              .... 1...      SMTMTRBL       X'08' SMTMTRBL SRM statement
                                            specified rebalance
              .... .1..      SMTMTHOR       X'04' SMTMTHOR Horizontal
                                            polarization
              .... ..1.      SMTMTHIG       X'02' SMTMTHIG IPL CPU addr is
                                            too high
              .... ...1      SMTMTSFA       X'01' SMTMTSFA SIGP failure. See
                                            SMTMTFRS.
    0001    1 Bitstring    1 *              Reserved
    0002    2 Bitstring    1 SMTMTCFM       Missing MT corequisite facility
                                            mask
              1... ....      SMTMTRF1       X'80' SMTMTRF1 Facility 1
                                            required by MT missing
              .1.. ....      SMTMTCSV       X'40' SMTMTCSV No MT counter sets
                                            support
              ..1. ....      SMTSCCMV       X'20' SMTSCCMV
                                            Store-CPU-counter-multiple
                                            facility is not available.
    0003    3 Bitstring    1 SMTMTPMT       Multithreading program-specified
                                            maximum thread ID
    0004    4 Bitstring    1 *              RESERVED
    0005    5 Bitstring    1 SMTMTFRS       SIGP set-multithreading order
                                            failure reason code
    0006    6 Signed       2 *              Reserved
    0008    8 Signed       4 SMTMTFST       Detailed failure status when
                                            SMTMTFRS=1
    000C   12 Signed       4 SMTSMTSQ       Multithreading config change
                                            Sequence number. Odd when a SET
                                            MT command is in progress and
                                            even otherwise. When 0, the
                                            multithreading config has not
                                            been modified by SET MT. Updates
                                            are serialized by CS.
          SMTSMTLK held exclusive serializes updates to all fields
          following the lock up to the end of the SMTSMTLK serialized
          data section and must be held continuously until all
          processing associated with changes to activated thread
          counts have completed.  Self-consistent reads are guaranteed
          by holding SMTSMTLK shared. Processing of the MULTITHREADING
          statement during initialization occurs while the system is
          running uniprocessor so use of SMTSMTLK can be skipped then.
          Processor configuration changes needed because of changes
          to the Activated thread counts require the Vary Proc lock
          exclusive obtained while continuously holding the SMT
          Configuration lock exclusive. Therefore the RCCACMNT array
          is serialized by SMT Configuration Lock plus Vary Proc Lock.
          A consequence of an SMT configuration change is
          that the number of activated threads per core may
          change. Therefore functions that alter the processor
          configuration such as VARY CORE require protection
          against changes to the activated thread count while it
          makes the processor configuration change. Because VARY
          CORE operates on a single core, the Vary Processor Lock
          is sufficient protection because the change of the
          activated thread count resulting from an SMT configura-
          tion change is done while holding both the SMT config-
          uration lock and the Vary Proc Lock. However, functions
          like hiperdispatch that make decisions for an entire
          CPU type require at least a share of SMT Configuration
          Lock as protection. In some cases it may be sufficient
          to use a continuous hold of the Vary Proc Lock if the
          only portion of the SMT configuration data that is used
          is serialized by both locks. Hiperdispatch functions
          that do not hold the Vary Proc Lock continuously use
          the SMT Configuration Lock over the entire transition
          that requires protection from SMT configuration changes.
          The SMT Configuration Lock is higher in the hierarchy
          that the Vary Proc Lock.
    0010   16 Dbl-Word     8 SMTSMTLK (3)   SMT Configuration (defer) Lock.
                                            Used to serialize the
                                            multithreading configuration data
                                            changed by SET MT command. If
                                            both this lock and HCPRCCVA are
                                            needed this lock must be acquired
                                            first if deferring on the locks.
                                            Otherwise make a conditional
                                            request and back out if it isn't
                                            acquired.
          START OF SMTSMTLK SERIALIZED DATA SECTION.
    0028   40 Signed       8 SMTSMTTM       TOD value at completion of the
                                            last successful multithreading
                                            configuration change.
          Mask of CPU Types supported in the MULTITHREADING
          config statement.
              00000000       SMTMTCTM       PUMCP+PUMZIP+PUMIFL+PUMICF
          Information from MultiThreading statement in config file.
          If MAX is specified for any operand, the operand value
          will be set to X'FF'
    0030   48 Bitstring    1 SMTCOMXT       Value specified on MAX_THREADS
    0031   49 Bitstring    1 SMTCOALL       Value specified on type ALL This
                                            field is used only during
                                            statement processing and has no
                                            meaning during system operation
    0032   50 Signed       2 *              Reserved
    0034   52 Signed       4 *              Reserved for IBM use.
    0038   56 Bitstring    1 SMTCOMNT (6)   Array of values specified on
                                            config statement per CPU type
    0038   56 Bitstring    1 SMTCOCP        Requested threads for CP cores
    0039   57 Bitstring    1 *              Reserved
    003A   58 Bitstring    1 *              Reserved
    003B   59 Bitstring    1 SMTCOIFL       Requested threads for IFL cores
    003C   60 Bitstring    1 SMTCOICF       Requested threads for ICF cores
    003D   61 Bitstring    1 SMTCOZIP       Requested threads for ZIIP cores
    003E   62 Bitstring    1 * (2)          Reserved
          Max numbers of threads per CPU type supported by hardware
    0040   64 Bitstring    1 SMTHWMNT (6)   Maximum numbers of threads per
                                            CPU type supported by hardware
    0040   64 Bitstring    1 SMTHWCP        Maximum threads for CP cores
    0041   65 Bitstring    1 *              Reserved
    0042   66 Bitstring    1 *              Reserved
    0043   67 Bitstring    1 SMTHWIFL       Maximum threads for IFL cores
    0044   68 Bitstring    1 SMTHWICF       Maximum threads for ICF cores
    0045   69 Bitstring    1 SMTHWZIP       Maximum threads for ZIIP cores
    0046   70 Bitstring    1 * (2)          Reserved
          Max numbers of threads per CPU type supported by z/VM CP
    0048   72 Bitstring    1 SMTSYMNT (6)   Maximum numbers of threads per
                                            CPU type supported by z/VM CP
    0048   72 Address      1 SMTSYCP        Maximum threads for CP cores
    0049   73 Bitstring    1 *              RESERVED
    004A   74 Bitstring    1 *              RESERVED
    004B   75 Address      1 SMTSYIFL       Maximum threads for IFL cores
    004C   76 Address      1 SMTSYICF       Maximum threads for ICF cores
    004D   77 Address      1 SMTSYZIP       Maximum threads for ZIIP cores
    004E   78 Bitstring    1 * (2)          Reserved
          SET MULTITHREAD command information. The requested thread
          count fields map 1:1 to the fields for the MULTITHREADING
          system config file statement. The values are from the
          most recent successful SET MT command. Additional fields
          provide serialization and related information.
          Parameters from most recent successful SET MT command.
          If MAX is specified for any operand, the operand value
          will be set to X'FF'. If ALL was not specified, any
          unspecified CPU type will have a value of x'00'. All
          values will be zero if INITIAL was specified.
          SMTSMFLG is used to inform Monitor about the stage of
          processing to report in MRPRCSMT (D5 R21).
    0050   80 Bitstring    1 SMTSMALL       Value specified on type ALL of
                                            the most recent successful SET MT
                                            command.
    0051   81 Bitstring    1 SMTSMSET       SET MT flags.
              1... ....      SMTSMINI       X'80' SMTSMINI SET MT INITIAL
                                            specified.
    0052   82 Bitstring    1 SMTSMFLG       Multithreading config change
                                            flags. In MRPRCSMT (D5 R21) this
                                            flag distinguishes between the
                                            start and completion records.
              00000080       SMTSMSTA       X'80' SMTSMSTA Multithreading
                                            config change processing has
                                            started.
              00000040       SMTSMFIN       X'40' SMTSMFIN Multithreading
                                            config change processing has
                                            finished.
              00000000       SMTSMINA       X'00' SMTSMINA Multithreading
                                            config change processing is not
                                            active.
    0053   83 Bitstring    1 *              Reserved for IBM use.
    0054   84 Signed       4 *              Reserved for IBM use.
    0058   88 Bitstring    1 SMTSMMNT (6)   Array of values specified on SET
                                            MT command per CPU type.
    0058   88 Bitstring    1 SMTSMCP        Specified threads for CP cores.
    0059   89 Bitstring    1 *              Reserved for IBM use.
    005A   90 Bitstring    1 *              Reserved for IBM use.
    005B   91 Bitstring    1 SMTSMIFL       Specified threads for IFL cores.
    005C   92 Bitstring    1 SMTSMICF       Specified threads for ICF cores.
    005D   93 Bitstring    1 SMTSMZIP       Specified threads for zIIP cores.
    005E   94 Bitstring    1 * (2)          Reserved for IBM use.
          Resulting Requested Multithreading Configuration:
          These values are the same as above, but with the zeros
          replaced with the prior values because those CPU types are
          unchanged.
    0060   96 Bitstring    1 SMTCRMNT (6)   Array of new multithreading
                                            configuration values.
    0060   96 Bitstring    1 SMTCRCP        Requested threads for CP cores.
    0061   97 Bitstring    1 *              Reserved for IBM use.
    0062   98 Bitstring    1 *              Reserved for IBM use.
    0063   99 Bitstring    1 SMTCRIFL       Requested threads for IFL cores.
    0064  100 Bitstring    1 SMTCRICF       Requested threads for ICF cores.
    0065  101 Bitstring    1 SMTCRZIP       Requested threads for zIIP cores.
    0066  102 Bitstring    1 * (2)          Reserved for IBM use.
          Per CPU Type activated thread count transition sequence
          number. These values can be used to determine whether a
          transition is active, as well as how many transitions
          have occurred for each CPU type. The sequence number is
          incremented only if the activated thread count changes.
          When the sequence number is 0, there has not been a
          change to the activated thread count for the CPU type
          since IPL. If it is odd then a transition is active,
          and if it is even and greater than 0 the value is
          twice the number of transitions because the value is
          incremented at the start and end of the transition.
    0068  104 Signed       4 SMTATSEQ (6)   Array of activated-thread-cnt
                                            transition sequence numbers.
    0068  104 Signed       4 SMTATSCP       Sequence number for CP activated
                                            thread count transitions.
    006C  108 Signed       4 *              Reserved for IBM use.
    0070  112 Signed       4 *              Reserved for IBM use.
    0074  116 Signed       4 SMTATSIFL      Sequence number for IFL activated
                                            thread count transitions.
    0078  120 Signed       4 SMTATSICF      Sequence number for ICF activated
                                            thread count transitions.
    007C  124 Signed       4 SMTATSZIP      Sequence number for zIIP
                                            activated thread count
                                            transitions.
    0080  128 Signed       4 * (2)          Reserved for IBM use.
              .... ...1      SMTACDEF       X'01' Default number of activated
                                            threads per core
          Per CPU Type activated processor masks are used only
          during the activated thread count transitions. They are
          used in the processing to define the desired end state.
          These fields are kept for compatibility with ISV vendor
          products. Their matching equivalent in HCPRCM should be
          used instead.
    0088  136 Dbl-Word     8 * (0)          Align on DW boundary
    0088  136 Bitstring   64 SMTACTMKS (6)  Desired per CPU type activated
                                            processor masks.
    0088  136 Bitstring   64 SMTACTCP       Activated CP processor mask.
    00C8  200 Bitstring    1 *              Reserved for IBM use.
    0108  264 Bitstring    1 *              Reserved for IBM use.
    0148  328 Bitstring   64 SMTACTIF       Activated IFL processor mask.
    0188  392 Bitstring   64 SMTACTIC       Activated ICF processor mask.
    01C8  456 Bitstring   64 SMTACTZI       Activated zIIP processor mask.
    0208  520 Bitstring    1 * (128)        Reserved for IBM use.
          END OF SMTSMTLK SERIALIZED DATA SECTION.
          END OF MULTITHREADING CONFIGURATION DATA.
              00000300       SMTBSIZE       (*-SMTBK+255)/256*256 consume a
                                            full number of cache lines

SMTBK Storage Layout | Top of page

    *** SMTBK - SMT RELATED DATA AREAS
    *
    *     +------+------+------+------+------+------+-------------+
    *   0 |:MTRSM|//////|:MTCFM|:MTPMT|//////|:MTFRS|/////////////|
    *     +------+------+------+------+------+------+-------------+
    *   8 |         SMTMTFST          |         SMTSMTSQ          |
    *     +---------------------------+---------------------------+
    *  10 |                                                       |
    *     =                       SMTSMTLK                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  28 |                       SMTSMTTM                        |
    *     +------+------+-------------+---------------------------+
    *  30 |:COMXT|:COALL|/////////////|///////////////////////////|
    *     +------+------+-------------+-------------+-------------+
    *  38 |                SMTCOMNT                 | 3E
    *     +-----------------------------------------+
    *
    *** SMTBK - SMT RELATED DATA AREAS

    *** Overlay for SMTCOMNT in SMTBK
    *
    *     +------+------+------+------+------+------+-------------+
    *  38 |:COCP |//////|//////|:COIFL|:COICF|:COZIP|/////////////|
    *     +------+------+------+------+------+------+-------------+
    *  40 |                SMTHWMNT                 | 46
    *     +-----------------------------------------+
    *
    *** Overlay for SMTCOMNT in SMTBK

    *** Overlay for SMTHWMNT in SMTBK
    *
    *     +------+------+------+------+------+------+-------------+
    *  40 |:HWCP |//////|//////|:HWIFL|:HWICF|:HWZIP|/////////////|
    *     +------+------+------+------+------+------+-------------+
    *  48 |                SMTSYMNT                 | 4E
    *     +-----------------------------------------+
    *
    *** Overlay for SMTHWMNT in SMTBK

    *** Overlay for SMTSYMNT in SMTBK
    *
    *     +------+------+------+------+------+------+-------------+
    *  48 |:SYCP |//////|//////|:SYIFL|:SYICF|:SYZIP|/////////////|
    *     +------+------+------+------+------+------+-------------+
    *  50 |:SMALL|:SMSET|:SMFLG|//////|///////////////////////////|
    *     +------+------+------+------+-------------+-------------+
    *  58 |                SMTSMMNT                 | 5E
    *     +-----------------------------------------+
    *
    *** Overlay for SMTSYMNT in SMTBK

    *** Overlay for SMTSMMNT in SMTBK
    *
    *     +------+------+------+------+------+------+-------------+
    *  58 |:SMCP |//////|//////|:SMIFL|:SMICF|:SMZIP|/////////////|
    *     +------+------+------+------+------+------+-------------+
    *  60 |                SMTCRMNT                 | 66
    *     +-----------------------------------------+
    *
    *** Overlay for SMTSMMNT in SMTBK

    *** Overlay for SMTCRMNT in SMTBK
    *
    *     +------+------+------+------+------+------+-------------+
    *  60 |:CRCP |//////|//////|:CRIFL|:CRICF|:CRZIP|/////////////|
    *     +------+------+------+------+------+------+-------------+
    *  68 |                                                       |
    *     =                       SMTATSEQ                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  80
    *
    *** Overlay for SMTCRMNT in SMTBK

    *** Overlay for SMTATSEQ in SMTBK
    *
    *     +---------------------------+---------------------------+
    *  68 |         SMTATSCP          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  70 |///////////////////////////|        SMTATSIFL          |
    *     +---------------------------+---------------------------+
    *  78 |        SMTATSICF          |        SMTATSZIP          |
    *     +---------------------------+---------------------------+
    *  80 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  88 |                                                       |
    *     =                      SMTACTMKS                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 208
    *
    *** Overlay for SMTATSEQ in SMTBK

    *** Overlay for SMTACTMKS in SMTBK
    *
    *     +-------------------------------------------------------+
    *  88 |                                                       |
    *     =                       SMTACTCP                        =
    *     |                                                       |
    *     +------+------------------------------------------------+
    *  C8 |//////|////////////////////////////////////////////////|
    *     +------+////////////////////////////////////////////////|
    *  D0 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +------+------------------------------------------------+
    * 108 |//////|////////////////////////////////////////////////|
    *     +------+////////////////////////////////////////////////|
    * 110 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    * 148 |                                                       |
    *     =                       SMTACTIF                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 188 |                                                       |
    *     =                       SMTACTIC                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 1C8 |                                                       |
    *     =                       SMTACTZI                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 208 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    * 288
    *
    *** Overlay for SMTACTMKS in SMTBK

SMTBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    SMTACDEF       0080 01
    SMTACTCP       0088
    SMTACTIC       0188
    SMTACTIF       0148
    SMTACTMKS      0088
    SMTACTZI       01C8
    SMTATSCP       0068
    SMTATSEQ       0068
    SMTATSICF      0078
    SMTATSIFL      0074
    SMTATSZIP      007C
    SMTBSIZE       0208 00000300
    SMTCOALL       0031
    SMTCOCP        0038
    SMTCOICF       003C
    SMTCOIFL       003B
    SMTCOMNT       0038
    SMTCOMXT       0030
    SMTCOZIP       003D
    SMTCRCP        0060
    SMTCRICF       0064
    SMTCRIFL       0063
    SMTCRMNT       0060
    SMTCRZIP       0065
    SMTHWCP        0040
    SMTHWICF       0044
    SMTHWIFL       0043
    SMTHWMNT       0040
    SMTHWZIP       0045
    SMTMTCFM       0002
    SMTMTCRF       0000 10
    SMTMTCSV       0002 40
    SMTMTCTM       0028 00000000
    SMTMTFRS       0005
    SMTMTFST       0008
    SMTMTHIG       0000 02
    SMTMTHOR       0000 04
    SMTMTLCP       0000 20
    SMTMTNTI       0000 80
    SMTMTPMT       0003
    SMTMTRBL       0000 08
    SMTMTRF1       0002 80
    SMTMTRSM       0000
    SMTMTSFA       0000 01
    SMTMT390       0000 40
    SMTSCCMV       0002 20
    SMTSMALL       0050
    SMTSMCP        0058
    SMTSMFIN       0052 00000040
    SMTSMFLG       0052
    SMTSMICF       005C
    SMTSMIFL       005B
    SMTSMINA       0052 00000000
    SMTSMINI       0051 80
    SMTSMMNT       0058
    SMTSMSET       0051
    SMTSMSTA       0052 00000080
    SMTSMTLK       0010
    SMTSMTSQ       000C
    SMTSMTTM       0028
    SMTSMZIP       005D
    SMTSYCP        0048
    SMTSYICF       004C
    SMTSYIFL       004B
    SMTSYMNT       0048
    SMTSYZIP       004D

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:30:39 EDT.
Copyright IBM Corporation, 1990, 2020