|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure TCMBK Full Track Cache Main Control Block
0000 0 Bitstring 1 * (256) Skip prolog and align for cache
Start of Assembler Version
Frequently used fields are clustered at the start of
this block for cache efficiency.
0100 256 Dbl-Word 8 * (0) Actual TCMBK data
0100 256 Signed 4 TCMTSLK Hash table/cache lock byte.
Hierarchically above TCMPTELK.
Also contains a footprint of the
location in the module which last
obtained or released lock.
0104 260 Address 1 TCMFLAGS Flag byte
Bits in TCMFLAGS:
1... .... TCMCACHE X'80' Caching is enabled
.1.. .... TCMTHUD X'40' Unconditional deletes
allowed.
..1. .... TCMFSL X'20' Flag is set when the fair
share limit was calculated last
time in HCPSTP. Only calculate it
every other time
...1 .... TCMDMDC X'10' User issued SET MDC or
RETAIN XSTORE cmd to alter MDC
XSTORE size.
.... 1... TCMONDEF X'08' Deferred on is set, The
cache will be turned on as soon
as the last access of the cache
is completed and the cache
flushed.
.... .1.. TCMSTLX X'04' XSTORE steal in progress
.... ..1. TCMSTLM X'02' Main storage steal in
progress
0105 261 Bitstring 1 TCMFLAG2 More TCMBK flag bits
Bits in TCMFLAG2:
1... .... TCMHSHEX X'80' Hash table is in the
process of expanding. No new
inserts or track accesses are
allowed during expansion, only
track deletions are allowed until
expansion is complete.
.1.. .... TCMEFAIL X'40' Hash expansion failed
during this 30 second interval
..1. .... TCMFLUSH X'20' Tells HCPFMVST to call
HCPFMVFX when done.
...1 .... TCMMSEME X'10' MDC main storage steal has
been called for an emergency main
storage shortage condition within
the last 60 second interval.
0106 262 Signed 2 TCMPRIME Prime number used in hash
0108 264 Address 4 TCMHMASK Mask to create address of 1st lvl
index
Hash table and values required to perform hash
00000004 TCMINISZ 4 Initial hash size TCMINISZ *
2**N = TCMMAXSZ (N is an integer)
00000040 TCMMAXSZ 64 Max first level indexes. See
TCMINISZ for limits
010C 268 Bitstring 4 TCMIXMSK Mask for device tbl index See
also TCHIXMSK
..11 1111 TCMIXTST X'3F' Mask for device tbl index
0110 272 Signed 4 TCMRDCT Count of successful read accesses
to MDC records
0114 276 Signed 4 TCMIA IOs avoided by MDC hits
0118 280 Signed 4 TCMINOTA I/Os not avoided TCMIA + TCMINOTA
= MDC eligible
TCMALMSK and TCMALSHF are used to convert the TCHASPAC
(address space selection) bits into a displacement into
the ALET/STO array starting at TCMALET1.
011C 284 Bitstring 4 TCMALMSK Mask to isolate TCHASPAC bits
i.e. AL1(0,0,0,TCHASPAC)
00000003 TCMALSHF 3 Used to SRL the isolated
TCHASPAC bits to form a
displacement from TCMALET1
The following ALET/STO pairs are mapped by MDAS DSECT
Serialized by TCMPTELK and the TCMNEWAS lock when adding
new address spaces.
0120 288 Signed 4 TCMALET1 ALET for 1st MDC address space
0124 292 Signed 4 TCMSTO1 STO for 1st MDC address space
0128 296 Signed 4 TCMALET2 ALET for 2nd MDC address space
012C 300 Signed 4 TCMSTO2 STO for 2nd MDC address space
0130 304 Signed 4 TCMALET3 ALET for 3rd MDC address space
0134 308 Signed 4 TCMSTO3 STO for 3rd MDC address space
0138 312 Signed 4 TCMALET4 ALET for 4th MDC address space
013C 316 Signed 4 TCMSTO4 STO for 4th MDC address space
0140 320 Address 4 TCMHPPT (64) First level index. Each word
points to a hash segment (3
pages)
0000023C TCMEOIX *-4 Pointer to last possible hash
table index
0000000A TCMPSHFT 10 Shift value used to split
hashed key into segment ix and
relative entry within the segment
0000000A TCMGPSHF 10 Number of TCHENTRYs per 3-page
group, i.e. per entry in HCPHPPT,
as a shift value (2**10=1024)
00000400 TCMTCHPG 1024 Number of TCHENTRYs per
3-page group, i.e. per entry in
HCPHPPT. (2**TCMGPSHF)
0240 576 Address 2 TCMBSEGS Count base hash table segments
0242 578 Signed 2 * Reserved for IBM use
The following are Full Track Cache Hash Table Performance
Related Counters.
0244 580 Signed 4 TCMRDAB Count of times that read
simulation was aborted
0248 584 Signed 4 TCMCOLPG Hash table collision pages.
Actually HSHAV blocks.
024C 588 Signed 4 TCMINSCT Hash table insertions of new
TCHBKs (aka the track insertion
rate)
0250 592 Signed 4 TCMDELCT Count of cache TCHBK deletions
0254 596 Signed 4 TCMDELST Count of TCHBK deletes by the
steal function
0258 600 Signed 4 TCMGCFRM Count of Garbage collected frms
025C 604 Signed 4 TCMCOLCT Hash table collisions on
insertion of new item
0260 608 Signed 4 TCMPFCT Count of times page fault
accessed track in cache
0264 612 Signed 4 TCMRDER Count of times that add of track
to cache failed (due to i/o error
etc )
0268 616 Signed 4 TCMSTKRD Count of times a CPEBK was
deferred on a track (reads)
026C 620 Signed 4 TCMSTKEX Count of times a CPEBK was
deferred on a track (writes)
0270 624 Signed 4 TCMSTKPF Count of times a CPEBK was
deferred on a track (page fault
priority)
0274 628 Signed 4 TCMSTKUD Count of times an unconditional
delete was deferred
0278 632 Signed 4 TCMEXCT Count of successfull excl. access
to track
027C 636 Signed 4 TCMDCCT Count of times track deleted
after excl. access
0280 640 Signed 4 TCMUDFST Count of fast unconditional
deletes performed
0284 644 Signed 4 TCMUDMLT Count of cache unconditional
delete requests (multi-track)
0288 648 Signed 4 TCMEFCT Hash expansion failure count
028C 652 Signed 4 TCMCPURG Count of times cache purged due
to write link on another system
in the SSI cluster
End of Performance related counts.
Next fields are for available TCHBK list management.
and hash table expansion.
0290 656 Address 4 TCMAVLST Available list head. This is the
anchor for the collision node
(CNODE) available list.
0294 660 Address 4 TCMAVPAG Available pages (HSHAV blocks).
Each block containing available
list nodes is linked together.
0298 664 Address 4 TCMALTBK Alternate TCMBK, the alternate
TCMBK is used during hash table
expansion and will become the
current one after expansion is
complete.
Below are values for the full track cache address space.
029C 668 Bitstring 1 TCMPTELK Lock for PTE sets and address
space create. Also see the
TCMNEWAS lock for A/S create.
Hierarchically below TCMTSLK. If
no MDC tasks are outstanding,
TCMTSLK held is equivalent to
holding both locks as no new work
can start without the main cache
lock.
029D 669 Bitstring 3 * Reserved for IBM use
02A0 672 Signed 4 TCMSEGTE Queue of available SEGTE sets
02A4 676 Address 4 TCMLASTA Address of last ALET/STO pair
currently in use
02A8 680 Character 80 TCMPTES (0) Mapped by PTESET DSECT
02A8 680 Signed 4 TCMPTE8 (4) PTE subbks for 8 pages/track
02B8 696 Address 2 * Count of PTEs in this set
02BA 698 Address 2 * Max sets/page of size 8
02BC 700 Signed 4 TCMPTE10 (4) PTE subbks for 10 pages/track
02CC 716 Address 2 * Count of PTEs in this set
02CE 718 Address 2 * Max sets/page of size 10
02D0 720 Signed 4 TCMPTE12 (4) PTE subbks for 12 pages/track
02E0 736 Address 2 * Count of PTEs in this set
02E2 738 Address 2 * Max sets/page for size 12
02E4 740 Signed 4 TCMPTE14 (4) PTE subbks for 14 pages/track
02F4 756 Address 2 * Count of PTEs in this set
02F6 758 Address 2 * Max sets/page of size 14
02F8 760 Signed 2 TCMRDVID Next RDEV ID to give out
Serialized by TCMTSLK.
02FA 762 Bitstring 2 TCMMAXID Maximum RDEV ID
02FC 764 Character 24 TCMASNAM
030D 781 Character 1 TCMASNUM Address space number
8 FBA pages make up a "track" in full track cache.
With CKD it is known that if one page is referenced on a
track, it is likely that others on that track will be
referenced. This information is not known for FBA.
Therefore we wanted to keep the number of pages per FBA
track small.
00000040 TCMBKPTK 64 Number of FBA blocks per
"track". MDC does not use blocks
per cyclical group since a track
would not necessarily be
page-aligned.
00000008 TCMPGPTK 8 Number of pages needed to read
in an FBA "track".
00000006 TCMFBSHF 6 Shift factor to determine FBA
"track" number from an FBA block
number. Thus 1 FBA track is 8
pages: 2**6=64, 64*512
bytes/block=32K
0314 788 Signed 4 TCMMNBLW Current number of pages in main
storage < 2G being used as
track cache pages
0318 792 Signed 4 TCMMNABV Current number of pages in main
storage >= 2G being used as
track cache pages
031C 796 Address 4 * Reserved for IBM use
Main storage steal information. This information is
mapped by SDDATA DSECT.
0320 800 Dbl-Word 8 TCMMDATA (0) Location of main storage steal
information
0320 800 Bitstring 4 TCMMIDSZ Maximum allowable number of pages
in track cache (based on average
age of a page in DPA). AKA "ideal
main store cache size", set by
arbiter logic in HCPSTP.
0324 804 Signed 4 TCMMAIN Current number of pages in main
storage being used as track cache
pages. = TCMMNBLW+TCMMNABV
0328 808 Signed 4 TCMMNMIN Minimum number of main storage
pages used by cache as set by
user command
032C 812 Signed 4 TCMMNMAX Maximum number of main storage
pages used by cache as set by
user command
0330 816 Signed 4 TCMMNDL Number of main storage pages
stolen from cache
0334 820 Signed 4 TCMSTLMN Number of times pages steal was
invoked to steal main storage
pages from the track cache
0338 824 Address 4 TCMMCPE Address of CPEBK to stack to
invoke main storage steal
033C 828 Address 4 * Reserved for IBM use
TCMSTFRM is used by MDC main storage steal to contain the
address of the next FRMTE on the MDC cyclic
list to be processed.
0340 832 Address 8 TCMSTFRM (0)
0340 832 Address 4 * Addr of next FRMTE to steal ...
0344 836 Address 4 * from for main storage steal
TCMFRANC is the MDC cyclic list FRMTEs representing main
storage frames used to hold user data in MDC.
The 1st 2 dwords are a forward and backward ptr.
The 3rd dword is 0 to represent a FRMTE without
a FRMDCKEY. End of the queue is indicated by a
pointer to this anchor.
0348 840 Address 8 TCMFRANC (0) Equivalent of 3 ADs follow
0348 840 Address 4 * High half
034C 844 Address 4 * Anchor for MDC FRMTEs - fwd ptr
0350 848 Address 4 * High half
0354 852 Address 4 * Anchor for MDC FRMTEs - back ptr
0358 856 Address 4 * Reserved/skipped in FRMTE def'n
035C 860 Address 4 * Represent a FRMTE w/o a FRMDCKEY
XSTORE steal information. This information is mapped
by SDDATA DSECT.
0360 864 Dbl-Word 8 TCMXDATA (0) Location of XSTORE steal
information
0360 864 Signed 4 TCMXIDSZ Maximum allowable number of
XSTORE blocks in track cache
(based on avg age of XSTORE
block). AKA "ideal xstore cache
size", set by arbiter logic in
HCPSTP.
0364 868 Signed 4 TCMXSTOR Number of cache pages that live
on XSTORE
0368 872 Signed 4 TCMXSMIN Minimum number of XSTORE blocks
used by cache as set by user
command
036C 876 Signed 4 TCMXSMAX Maximum number of XSTORE blocks
used by cache ase set by user
command
0370 880 Signed 4 TCMXSTDL Number of XSTORE blocks stolen
from track cache
0374 884 Signed 4 TCMSTLXS Number of times pages steal was
invoked to steal XSTORE blocks
from the track cache
0378 888 Address 4 TCMXCPE Address of CPEBK to stack to
invoke Xstorage steal
>>>> This field is
not used. It is defined primarily
>>>> to maintain the
similar mapping of fields
>>>> between the
Storage and the XStorage
sections.
037C 892 Address 4 * Reserved for IBM use
0380 896 Signed 4 TCMSTXTC Address of next TCHBK to steal
from for XSTORE block steal
0384 900 Signed 4 TCMSTXHP Address of hash page currently
stealing from for XSTORE block
steal
End of steal information.
0388 904 Signed 4 TCM2IO Number of times had to do both
STD and non-STD I/O
038C 908 Signed 4 TCMKLNT0 Number of times key length was
not 0 when doing STD I/O
0390 912 Signed 4 TCMDLBAD Number of times data length not
consistent when doing standard
I/O
0394 916 Signed 4 TCMBADR0 Number of times record 0's length
was greater than X'10'
0398 920 Signed 4 TCMRCBAD Number of times records were not
sequential when doing standard
I/O
039C 924 Signed 4 TCMBADCC Number of times cylinder and head
weren't the same for each record
on track
03A0 928 Signed 4 TCMREADS Count of successful read channel
programs simulated
03A4 932 Signed 4 TCMNOPTE Count of times we ran out of PTE
sets
03A8 936 Signed 2 * Reserved for IBM use
03AA 938 Signed 2 TCMAXSCT Count of hash entries that need
to be flushed but are currently
active
03AC 940 Signed 4 TCMNOTEL Number of channel programs that
were not eligible for channel
program simulation
03B0 944 Signed 4 TCMFSHVM Number of fair share cache
inserters during this fair share
interval
03B4 948 Signed 4 TCMFSHIN Number of fair share track
inserts during this fair share
interval
03B8 952 Signed 4 TCMNFSVM Number of non-fair share cache
inserters during this fair share
interval
03BC 956 Signed 4 TCMNFSIN Number of non-fair share track
inserts during this fair share
interval
03C0 960 Signed 4 TCMFSLIM Fair share insert limit for this
interval
03C4 964 Signed 4 TCMFSLMM Minimum fair share insert limit
per interval
03C8 968 Signed 4 TCMSFSIN Smoothed previous number of fair
share inserts
03CC 972 Signed 4 TCMSSMIN Smoothed previous number of all
(both fair share and non-fair
share) inserts
03D0 976 Signed 4 TCMFSLEX Count of tracks not inserted due
to fair share limit
03D4 980 Signed 4 TCMTFBA Count of track inserts done with
FBA channel prg
03D8 984 Signed 4 TCMTCKST Count of standard track inserts
done with CKD channel program
03DC 988 Signed 4 TCMTCKNS Count of non-std track inserts
done with CKD channel program
03E0 992 Signed 4 TCMTECST Count of standard track inserts
done with ECKD channel program
03E4 996 Signed 4 TCMTECNS Count of non-std track inserts
done with ECKD channel program
03E8 1000 Signed 4 TCMPIN4K Count of page faults resolved
with 4K aligned PGIN for standard
track
03EC 1004 Signed 4 TCMPOU4K Count of page faults resolved
with 4K aligned PGOUT for
standard track
03F0 1008 Signed 4 TCMPINVA Count of page faults resolved
with PGIN to validate page for
std track (non-4K case)
03F4 1012 Signed 4 TCMPSTRD Count of page faults resolved
with read from DASD for std track
03F8 1016 Signed 4 TCMPSTWR Count of page faults requesting
DASD write (which are ignored)
03FC 1020 Signed 4 TCMPFNS Count of page faults for
non-standard tracks
0400 1024 Signed 4 TCMNOINS Count of track inserts rejected
because user's insert capability
off
0404 1028 Signed 4 * Reserved for IBM use
0408 1032 Dbl-Word 8 TCMONTOD Last time cache was enabled via
SET MDC or RETAIN command. Cache
is not necessarily active yet.
0410 1040 Dbl-Word 8 TCMOFTOD Last time cache was disabled via
SET MDC command. Cache is not
necessarily flushed yet.
0418 1048 Dbl-Word 8 TCMXSTOD Last time hash table expansion
started successfully.
0420 1056 Dbl-Word 8 TCMXETOD Last time hash table expansion
completed.
0428 1064 Dbl-Word 8 TCMQSTOD Last time hash table quiesce
started.
0430 1072 Dbl-Word 8 TCMQETOD Last time hash table quiesce
completed as TCMAXSCT went to
zero.
0438 1080 Dbl-Word 8 TCMFLTOD Last time all the data in all the
cache address spaces was flushed.
I.E. the cache itself was
flushed.
0440 1088 Dbl-Word 8 TCMATTOD Last time the cache was flushed
for ATTACH XSTORE command.
0448 1096 Signed 4 TCMATRNG (2) Start and ending XSTORE block
number for last ATTACH XSTORE
flush.
0450 1104 Dbl-Word 8 TCMUDTOD Last time a range of tracks was
deleted unconditionally.
0458 1112 Signed 4 TCMUDRNG (2) Starting hash key and number of
hash keys associated with the
last unconditional delete of a
range of tracks.
0460 1120 Signed 4 TCMNEWAS Informal non-defer, non-spin lock
used when allocating a new MDC
address space. Must hold TCMPTELK
to obtain. If new A/S is needed
and this lock is non-zero, track
insert must be aborted.
0464 1124 Bitstring 12 TCMNEWCO New address space creation
communication area. Must hold
TCMNEWAS to change or reference
any field here.
0464 1124 Signed 4 TCMNWMDA MDAS address to use for creating
the new address space.
0468 1128 Signed 4 TCMNWSTO STO for new address space. Also
address of 1st STE-set.
046C 1132 Signed 4 TCMNWLST Last STE-set address.
0000008E TCMBKSIZ (*-TCMBK+7)/8 Size in double
words
| |