Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
TCHBK
Control Block Contents
TCHBK DSECT
TCHSTDFM DSECT
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' 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. 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
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 V4R1.0.
Last updated on 5 Jun 2001 at 16:58:45 EDT.
Copyright IBM Corporation, 1990, 2001