About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
FTXBK | Back to Index page |
Prolog Control Block Contents FTXBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
FTXBK Prolog | Top of page |
NAME : HCPFTXBK DESCRIPTION: Frame Table Extent Block DSECT : FTXBK FUNCTION : Contain Frame Table scan range addresses CREATED BY : HCPIFTIX DELETED BY : NA LOCATED BY : RSAFTXFL - FTXBK chain for frames < 2G RSAFTXFG - FTXBK chain for frames >= 2G RSAFTXGC - Global FTXBK chain (contains all FTXBKs in no guaranteed order) RELOCATION CONSIDERATIONS : None NOTES : The RSMBK contains 2 FTXBks, one for <2G and one for >2G. In a system with nothing >2G, there will still be these 2 FTXBKs. In order to indicate that an FTXBK is not actually describing anything, a bogus value will be used for the FRMTE ranges. Any bogus value would do. FTXSTART = zero is the chosen bogus value. SERIALIZED : Changes to the FTXBK fwd/bwd pointers are serialized by virtue of a single processor running in HCPSYNSV and all the other processors spinning in HCPSYNWT. FTXBK lo/hi values are serialized by virtue of being updated before the FTXBK is added to the chain of FTXBKs, and never changed thereafter. FTXBK start/end values are not serialized. They are initialized to the FTXBK hi/lo values respectively, before the FTXBK is added to the chain of FTXBKs. Subsequent updates will only lower FTXStart or raise FTXEnd. The start/end pair will always describe a valid range. Storage is accessed in block-concurrent blocks of 8 bytes each. That means a STMG or LMG operates on each 8-byte block one at a time. Consider simultaneous tasks: 1 updating, 1 reading. If Updater completes the STMG updating of the FTXBK before Reader reads the new values, then Reader will LMG a valid start-end pair. Since FTXSTART/FTXEND are not serialized, we need to consider incomplete updates. If Updater does not complete the STMG updating of the FTXBK before Reader reads the new values, then Reader will LMG a start-end pair that may not be accurate. The issue is: will that pair be dangerous? Let's consider four scenarios. - scenario 1, storage initialization has not made any frames available yet. - scenario 2, the last frame in the lo/hi range is the first to be made available. - scenario 3, some frame in the midst of the lo/hi range is the first to be made available. - scenario 4, some lower frame in the lo/hi range is the next to be made available. Scenario 1, the Reader executes LMG and sees that the starting address is higher that the ending address. This tells the frame table scanner that processing of this FTXBK has been completed. updater start/end reader 10 1 LMG 10/1 Scenario 2, frame 10 is the first to be made available. Updater's STMG and Reader's LMG execute simultaneously. The timing of the processors is such that the LMG reads storage before the STMG completes. The result for Reader is the same as scenario 1. updater start/end reader 10 1 STMG 10/10 10 1 LMG 10/1 Scenario 3, frame 5 is the first to be made available. Updater's STMG and Reader's LMG execute simultaneously. The timing of the processors is such that the LMG reads storage before the STMG completes. The result for Reader is the same as scenario 1. updater start/end reader 10 1 STMG 5/5 5 1 LMG 5/1 Scenario 4, frame 4 is the next to be made available. Updater's STMG and Reader's LMG execute simultaneously. The timing of the processors is such that the LMG reads storage before the STMG completes. The result for Reader is a valid range 4-5. updater start/end reader 5 5 STMG 4/5 4 5 LMG 4/5 |
FTXBK Control Block Content | Top of page |
|
FTXBK Storage Layout | Top of page |
*** FTXBK - Frame Table Extent Block * * +---------------------------+---------------------------+ * 0 | FTXNEXT | FTXPREV | * +---------------------------+---------------------------+ * 8 | FTXNEXTG |///////////////////////////| * +---------------------------+---------------------------+ * 10 | FTXLO | * +-------------------------------------------------------+ * 18 | FTXHI | * +-------------------------------------------------------+ * 20 | FTXSTART | * +-------------------------------------------------------+ * 28 | FTXEND | * +-------------------------------------------------------+ * 30 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 38 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 40 * *** FTXBK - Frame Table Extent Block |
FTXBK Cross Reference | Top of page |
Symbol Dspl Value -------------- ---- ----- FTXhi 0018 FTXlo 0010 FTXEND 0028 FTXNEXT 0000 FTXNEXTG 0008 FTXPREV 0004 FTXSIZE 0038 00000008 FTXSTART 0020 |
Copyright IBM Corporation, 1990, 2013