Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

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 000007C4 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' Processes deferred on CPEBK or flush wants this entry quiesced when current owner is done. .... .1.. TCHMAX X'04' High bit of share .... .11. TCHMAXS X'06' Max shares .... .111 TCHEXCL X'07' Exclusive use indication .... ...1 TCHSHAR1 X'01' Shared once .... 1111 TCHLKBTS TCHDEFER+TCHEXCL X'0F' - just the lock nibble 0TCHLOCK TCHLKINC 256 Value to add one to lock when lock byte is referenced as part of the entire TCHADRLX field. EQU X'F0' Do not use, rightmost 'P' of Vaddr 000B 11 Bitstring 1 TCHTBENT Relative table entry 11.. .... TCHASPAC X'C0' These bits identify the address space used for caching Note: TCMALMSK and TCMALSHF depend on these bits ..11 1111 TCHIXMSK X'3F' 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

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

TCHADRLX 0008

TCHASPAC 000B C0

TCHCOLFG 0004 000007C4

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 VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 13:38:12 EDT.
Copyright IBM Corporation, 1990, 1999