Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

TCHBK

Prolog  

Control Block Contents  
   TCHBK DSECT
   TCHSTDFM DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


TCHBK Prolog

 Name       : HCPTCHBK
 Description: Track Cache Hash block
 DSECT      : TCHBK
 Function   : To provide mapping of a full track cache hash
              table entry.
              The data is stored right in the hash table.
              Open hashing scheme is used with collisions.
 Overview and Terminology -
              The MDC HASH TABLE logically consists
              of a BASE TABLE and COLLISION NODEs.
              Each MDC eligible track is represented by a
              unique fullword KEY.  A hashing algorithm is
              used to convert the key to the address of an
              entry in the base table called a BASE NODE.
              Although each key is unique, multiple keys may
              hash to the same base node causing a
              COLLISION. Collision nodes are assigned from
              storage that is not part of the base table.
              A TCHBK is a 3 word entity that contains
              or provides access to the data structures
              required to serialize and process a single
              track within the Minidisk cache.  A TCHBK
              can appear in a base node or a collision node.
              Whereas a base node consists entirely of one
              TCHBK, a collision node additionally contains
              a one word prefix (see below and HCPCNODE).
 Created by :
              Individual empty entries are filled in by
              HCPFTHRD. The frames that form the base hash
              table is obtained by HCPFTHIN. The first
              collision frame is obtained in HCPFTHIN while
              subsequent frames are acquired by HCPFTHRD as
              needed.
              Individual entries are cleared by
                 HCPFTHRD, HCPFTHEX, HCPFTHDR, HCPFTHDC,
                 HCPFTHSD, HCPFTHUD
              The collection of TCHBKs that form the actual
                 hash table is deleted by
                 HCPFTHRD, HCPFTHEX, HCPFTHDR, HCPFTHDC,
                 HCPFTHSD, HCPFTHIN, HCPFTHRH, HCPFTHFH,
                 HCPFTHQH
 Deleted by :

 

TCHBK Control Block Content


TCHBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      TCHBK          Track Cache Hash block
0000    0 Signed       4 TCHKEY         Hash key
0004    4 Signed       4 TCHTKFMT       This field either points to or
                                        contains the track format data
                                        for standard tracks
          00000AD4       TCHCOLFG       PFX8000S When this bit is on,
                                        TCHTKFMT contains the address of
                                        a collision node. The 1st word of
                                        that node contains the TCHTKFMT
                                        data for this node.
0008    8 Address      4 TCHCPEBK (0)   CPEBK address if this is a CPEBK
                                        node.
      High order bit of TCHCPEBK indicates that an Unconditional
      Delete (often referred to as THUD) is required.
      Note that if this bit is on, the remainder of TCHCPEBK may
      be zero. I.E. only an unconditional delete is deferred.
      See also CNOCPEBK.
          1... ....      TCHUDREQ       X'80' Unc. Delete required *
                   Start of TCHADRLX definition
0008    8 Address      4 TCHADRLX (0)   Address, lock, flags, DPS index
                                        Form: SSSPPLII SSS is segment
                                        number PP is page number L is
                                        lock nibble II is flags and DPS
                                        index
      High order bit of TCHADRLX indicates if there are any
      XSTORE blocks for this TCHBK.
          1... ....      TCHXSTOR       X'80' This TCHBK has XSTORE
                                        blocks After an XSTORE PGIN/PGOUT
                                        error this bit may be on when no
                                        PTEs are in XSTORE for this
                                        TCHBK.
0008    8 Bitstring    1 * (2)          First 16 bits of SSSPP (SSSP)
000A   10 Bitstring    1 TCHLOCK        Lock nibble (low 4 bits) High 4
                                        bits are rightmost 'P' of Vaddr
          .... 1...      TCHDEFER       X'08' TCHDEFER Processes deferred
                                        on CPEBK or flush wants this
                                        entry quiesced when current owner
                                        is done.
          .... .1..      TCHMAX         X'04' TCHMAX High bit of share
          .... .11.      TCHMAXS        X'06' TCHMAXS Max shares
          .... .111      TCHEXCL        X'07' TCHEXCL Exclusive use
                                        indication
          .... ...1      TCHSHAR1       X'01' TCHSHAR1 Shared once
          .... 1111      TCHLKBTS       TCHDEFER+TCHEXCL TCHLKBTS X'0F' -
                                        just the lock nibble
          0TCHLOCK       TCHLKINC       256 TCHLKINC Value to add one to
                                        lock when lock byte is referenced
                                        as part of the entire TCHADRLX
                                        field.
                                         of Vaddr
000B   11 Bitstring    1 TCHTBENT       Relative table entry
          11.. ....      TCHASPAC       X'C0' TCHASPAC These bits
                                        identify the address space used
                                        for caching Note: TCMALMSK and
                                        TCMALSHF depend on these bits
          ..11 1111      TCHIXMSK       X'3F' TCHIXMSK Bits to hold DPSBK
                                        index See also TCMIXMSK.
      Notes      : the fields TCMALMSK and TCMALSHF are used to
      isolate and manipulate the TCHASPAC bits.
                    End of TCHADRLX definition
          0000000C       TCHSIZEB       *-TCHBK Size of hash entry in
                                        bytes
      The track format data for a standard record.
        This data may appear in the 2nd word of a TCHBK or may
        be pointed to by that word (when bit 0 is on).
      HCPMDCF will return this information in a specified
      register when GET_SHARED or GET_EXCLUSIVE is specified
      on the HCPMDCF MACRO.

TCHSTDFM DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      TCHSTDFM       Track Cache Hash block
0000    0 Signed       2 TCHCYL         CC of Count fields (std)
0002    2 Bitstring    1 TCHFRN         First record number (std)
0003    3 Bitstring    1 TCHLRN         Lowest record number (std)

 

TCHBK Storage Layout

          
*** TCHBK - Track Cache Hash block
*
*     +---------------------------+---------------------------+
*   0 |          TCHKEY           |         TCHTKFMT          |
*     +-------------+------+------+---------------------------+
*   8 |/////////////|:LOCK |:TBENT| C
*     +-------------+------+------+
*
*** TCHBK - Track Cache Hash block
          
*** TCHSTDFM - Track Cache Hash block
*
*     +-------------+------+------+
*   0 |   TCHCYL    |TCHFRN|TCHLRN| 4
*     +-------------+------+------+
*
*** TCHSTDFM - Track Cache Hash block

 

TCHBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
TCHADRLX       0008
TCHASPAC       000B C0
TCHCOLFG       0004 00000AD4
TCHCPEBK       0008
TCHCYL         0000
TCHDEFER       000A 08
TCHEXCL        000A 07
TCHFRN         0002
TCHIXMSK       000B 3F
TCHKEY         0000
TCHLKBTS       000A 0F
TCHLKINC       000A 0TCHLOCK
TCHLOCK        000A
TCHLRN         0003
TCHMAX         000A 04
TCHMAXS        000A 06
TCHSHAR1       000A 01
TCHSIZEB       000B 0000000C
TCHTBENT       000B
TCHTKFMT       0004
TCHUDREQ       0008 80
TCHXSTOR       0008 80

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 09:17:39 EDT.
Copyright IBM Corporation, 1990, 2008