TITLE ' /* IRBMFDWP WORKLOAD INTERVAL MG ROUTINE *00001000 ' 00002000 IRBMFDWP CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'IRBMFDWP 76.105' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @12,0 0001 00011000 @PSTART DS 0H 0001 00012000 USING @PSTART,@12 0001 00013000 L @00,@SIZDATD 0001 00014000 GETMAIN R,LV=(0) 00015000 LR @11,@01 0001 00016000 USING @DATD,@11 0001 00017000 ST @13,@SA00001+4 0001 00018000 LM @00,@01,20(@13) 0001 00019000 ST @11,8(,@13) 0001 00020000 LR @13,@11 0001 00021000 MVC @PC00001(36),0(@01) 0001 00022000 IHARB 00023000 IRBMFDWP CSECT 00024000 IKJTCB 00025000 IRBMFDWP CSECT 00026000 * ; 0014 00027000 * 0014 00028000 * /*****************************************************************/ 00029000 * /* */ 00030000 * /* RESOURCE VECTOR TABLE */ 00031000 * /* */ 00032000 * /*****************************************************************/ 00033000 * 0015 00034000 */**** START OF SPECIFICATIONS ***************************************/ 00035000 */* */ 00036000 */* MACCOMP Y-2 SC1CQ/GAM20 */ 00037000 */* MACSTAT Y-2 73121/Y02150 */ 00038000 */* MACMEAN STRVT MEANS RESOURCE VECTOR TABLE */ 00039000 */* */ 00040000 */* MODULE-NAME = IRBSTRVT */ 00041000 */* */ 00042000 */* DESCRIPTIVE-NAME = RESOURCE VECTOR TABLE */ 00043000 */* */ 00044000 */* COPYRIGHT = NONE */ 00045000 */* */ 00046000 */* STATUS = RELEASE 2, VERSION 0 */ 00047000 */* */ 00048000 */* FUNCTION = MAPPING MACRO FOR THE STRVT. IT CONTAINS A LIST OF */ 00049000 */* MF/1 SUPERVISOR STATE RESOURCE TABLES FOR AN MF/1 MEA-*/ 00050000 */* SUREMENT OPTION. */ 00051000 */* */ 00052000 */* NOTES = SEE BELOW */ 00053000 */* */ 00054000 */* MODULE-TYPE = PLS MAPPING MACRO */ 00055000 */* */ 00056000 */* CHANGE-ACTIVITY = */ 00057000 */* */ 00058000 */* A000000-999999 Y02150*/ 00059000 */* */ 00060000 */* METHOD-OF-INVOCATION = SEE BELOW */ 00061000 */* */ 00062000 */* PLS - .QUESTION MARK.IRBSTRVT ATTRIBUT(ATTRIBUTES) */ 00063000 */* WHERE ATTRIBUTES ARE ANY ACCEPTABLE PLS ATTRIBUTES */ 00064000 */* FOR STRUCTURE DECLARATIONS. */ 00065000 */* */ 00066000 */**** END OF SPECIFICATIONS *****************************************/ 00067000 * 0015 00068000 * /*****************************************************************/ 00069000 * /* */ 00070000 * /* ?IRBSTRVT ATTRIBUT(BASED(STSMRVT)) */ 00071000 * /* */ 00072000 * /*****************************************************************/ 00073000 * 0015 00074000 * DECLARE 0015 00075000 * 1 STRVT /* RESOURCE VECTOR TABLE */ 00076000 * BASED(STSMRVT) BDY(WORD), 0015 00077000 * 2 STRVSPRT /* ADDRESS OF PROGRAM RESOURCE 0015 00078000 * TABLE(STPRT) FOR THIS OPTION */ 00079000 * PTR(31), 0015 00080000 * 2 STRVNPRT /* NUMBER OF NEXT AVAILABLE ENTRY 00081000 * IN STPRT FOR THE OPTION */ 00082000 * FIXED(31), 0015 00083000 * 2 STRVSSGT /* ADDRESS OF STORAGE RESOURCE 0015 00084000 * TABLE(STSGT) FOR THIS OPTION */ 00085000 * PTR(31), 0015 00086000 * 2 STRVNSGT /* NUMBER OF NEXT AVAILABLE ENTRY 00087000 * IN STSGT FOR THE OPTION */ 00088000 * FIXED(31); 0015 00089000 * 0015 00090000 * /*****************************************************************/ 00091000 * /* */ 00092000 * /* STORAGE RESOURCE TABLE */ 00093000 * /* */ 00094000 * /*****************************************************************/ 00095000 * 0016 00096000 */**** START OF SPECIFICATIONS ***************************************/ 00097000 */* */ 00098000 */* MACCOMP Y-2 SC1CQ/GAM20 */ 00099000 */* MACSTAT Y-2 73121/Y02150 */ 00100000 */* MACMEAN STSGT MEANS STORAGE RESOURCE TABLE */ 00101000 */* */ 00102000 */* MODULE-NAME = IRBSTSGT */ 00103000 */* */ 00104000 */* DESCRIPTIVE-NAME = STORAGE RESOURCE TABLE */ 00105000 */* */ 00106000 */* COPYRIGHT = NONE */ 00107000 */* */ 00108000 */* STATUS = RELEASE 2, VERSION 0 */ 00109000 */* */ 00110000 */* FUNCTION = MAPPING MACRO FOR THE STSGT. IT CONTAINS THE SUBPOOL,*/ 00111000 */* LENGTH, AND ADDRESS OF ALL MAIN STORAGE AREAS OBTAINED*/ 00112000 */* OR FIXED FOR AN MF/1 MEASUREMENT OPTION. */ 00113000 */* */ 00114000 */* NOTES = SEE BELOW */ 00115000 */* */ 00116000 */* MODULE-TYPE = PLS MAPPING MACRO */ 00117000 */* */ 00118000 */* CHANGE-ACTIVITY = */ 00119000 */* */ 00120000 */* A000000-999999 Y02150*/ 00121000 */* */ 00122000 */* METHOD-OF-INVOCATION = SEE BELOW */ 00123000 */* */ 00124000 */* PLS - .QUESTION MARK.IRBSTSGT ATTRIBUT(ATTRIBUTES) */ 00125000 */* WHERE ATTRIBUTES ARE ANY ACCEPTABLE PLS ATTRIBUTES */ 00126000 */* FOR STRUCTURE DECLARATIONS. */ 00127000 */* */ 00128000 */**** END OF SPECIFICATIONS *****************************************/ 00129000 * 0016 00130000 * /*****************************************************************/ 00131000 * /* */ 00132000 * /* ?IRBSTSGT ATTRIBUT(BASED(STRVSSGT)) */ 00133000 * /* */ 00134000 * /*****************************************************************/ 00135000 * 0016 00136000 * DECLARE 0016 00137000 * 1 STSGT /* STORAGE RESOURCE TABLE */ 00138000 * (*) BASED(STRVSSGT) BDY(WORD), 0016 00139000 * 2 STSGFREE, /* FREEMAIN REGISTER FORMAT OF A 00140000 * STORAGE AREA */ 00141000 * 3 STSGSP /* SUBPOOL NUMBER */ 00142000 * FIXED(8), 0016 00143000 * 3 STSGLEN /* LENGTH OF STORAGE AREA */ 00144000 * FIXED(24), 0016 00145000 * 2 STSGADD /* ADDRESS OF STORAGE AREA */ 00146000 * PTR(31); 0016 00147000 * 0016 00148000 * /*****************************************************************/ 00149000 * /* */ 00150000 * /* SUPERVISOR MEASUREMENT AREA */ 00151000 * /* */ 00152000 * /*****************************************************************/ 00153000 * 0017 00154000 */**** START OF SPECIFICATIONS ***************************************/ 00155000 */* */ 00156000 */* MACCOMP Y-2 SC1CQ/GAM20 */ 00157000 */* MACSTAT Y-2 73121/Y02150 */ 00158000 */* MACMEAN STSMA MEANS SUPERVISOR MEASUREMENT AREA */ 00159000 */* */ 00160000 */* MODULE-NAME = IRBSTSMA */ 00161000 */* */ 00162000 */* DESCRIPTIVE-NAME = SUPERVISOR MEASUREMENT AREA */ 00163000 */* */ 00164000 */* COPYRIGHT = NONE */ 00165000 */* */ 00166000 */* STATUS = RELEASE 2, VERSION 0 */ 00167000 */* */ 00168000 */* FUNCTION = MAPPING MACRO FOR THE STSMA. IT CONTAINS MF/1 SUPER- */ 00169000 */* VISOR STATE FUNCTION DATA FOR EACH MEASUREMENT OPTION.*/ 00170000 */* */ 00171000 */* NOTES = SEE BELOW */ 00172000 */* */ 00173000 */* MODULE-TYPE = PLS MAPPING MACRO */ 00174000 */* */ 00175000 */* CHANGE-ACTIVITY = */ 00176000 */* */ 00177000 */* A000000-999999 Y02150*/ 00178000 */* */ 00179000 */* METHOD-OF-INVOCATION = SEE BELOW */ 00180000 */* */ 00181000 */* PLS - .QUESTION MARK.IRBSTSMA ATTRIBUT(ATTRIBUTES) */ 00182000 */* WHERE ATTRIBUTES ARE ANY ACCEPTABLE PLS ATTRIBUTES */ 00183000 */* FOR STRUCTURE DECLARATIONS. */ 00184000 */* */ 00185000 */**** END OF SPECIFICATIONS *****************************************/ 00186000 * 0017 00187000 * /*****************************************************************/ 00188000 * /* */ 00189000 * /* ?IRBSTSMA ATTRIBUT(BASED(SMAPTR)) */ 00190000 * /* */ 00191000 * /*****************************************************************/ 00192000 * 0017 00193000 * DECLARE 0017 00194000 * 1 STSMA /* SUPERVISOR MEASUREMENT AREA */ 00195000 * BASED(SMAPTR) BDY(WORD), 0017 00196000 * 2 STSMOPT /* OPTION VARIABLES */ 00197000 * FIXED(31), /* 0-OPTION NOT IN EFFECT */ 00198000 * 3 * BIT(24), 0017 00199000 * 3 STSMOFLG /* OPTION FLAGS */ 00200000 * BIT(8), 0017 00201000 * 6 * BIT(7), 0017 00202000 * 6 STSMSTA /* OPTION STATUS FOR CPU, PAGING, 00203000 * CHANNEL */ 00204000 * BIT(1), /* 0-OPTION OFF, 1-OPTION ON */ 00205000 * 2 STSMINIT /* OPTION INITIALIZATION ENTRY 0017 00206000 * POINT NAME */ 00207000 * CHAR(8), 0017 00208000 * 2 STSMTERM /* OPTION TERMINATION ENTRY POINT 00209000 * NAME */ 00210000 * CHAR(8), 0017 00211000 * 2 STSMINTP /* INTERVAL MG PROLOGUE ADDRESS */ 00212000 * PTR(31), 0017 00213000 * 2 STSMSAVE /* SAVE AREA ADDRESS */ 00214000 * PTR(31), 0017 00215000 * 2 STSMENTR /* RE-ENTRY ADDRESS FOR INTERVAL 00216000 * DRIVEN MG ROUTINE */ 00217000 * PTR(31), 0017 00218000 * 2 STSMEDAD /* EVENT DATA AREA ADDRESS */ 00219000 * PTR(31), 0017 00220000 * 2 STSMIGMC, /* GETMAIN CONTROL */ 00221000 * 3 STSMISP /* LAST INTERVALS DATA AREA 0017 00222000 * SUBPOOL ID */ 00223000 * FIXED(8), 0017 00224000 * 3 STSMILEN /* LAST INTERVALS DATA AREA 0017 00225000 * LENGTH */ 00226000 * FIXED(24), 0017 00227000 * 2 STSMIADD /* LAST INTERVALS DATA AREA 0017 00228000 * ADDRESS */ 00229000 * PTR(31), 0017 00230000 * 2 STSMRVT /* ADDRESS OF RESOURCE VECTOR 0017 00231000 * TABLE (RVT) FOR THIS OPTION */ 00232000 * PTR(31), 0017 00233000 * 2 STSMLCOM /* LOCAL COMMUNICATION AREA OR 0017 00234000 * COMMUNICATION AREA ADDRESS */ 00235000 * PTR(31), 0017 00236000 * 2 STSMSSP /* SMF RECORD SUBPOOL */ 00237000 * FIXED(8) BDY(WORD), 0017 00238000 * 2 STSMRSV1 /* RESERVED */ 00239000 * CHAR(3), 0017 00240000 * 1 STSMB /* DEFINE DIFFERENT OPTIONS */ 00241000 * BDY(WORD) DEF(STSMOPT), 0017 00242000 * 3 * BIT(24), 0017 00243000 * 3 * /* LAST BYTE IN WORD */ 00244000 * BIT(8), 0017 00245000 * 4 STSMDEVF /* DEVICE CLASS FLAGS, IN UCB */ 00246000 * 0017 00247000 * /**********************************************************/ 00248000 * /* */ 00249000 * /* TYPE ORDER */ 00250000 * /* */ 00251000 * /**********************************************************/ 00252000 * 0017 00253000 * BIT(6), 0017 00254000 * 6 STSMTAPE /* MAGNETIC TAPE DEVICES */ 00255000 * BIT(1), /* 0-OPTION NOT SELECTED 1-OPTION 00256000 * SELECTED */ 00257000 * 6 STSMTP /* COMMUNICATION DEVICES */ 00258000 * BIT(1), /* 0-OPTION NOT SELECTED 1-OPTION 00259000 * SELECTED */ 00260000 * 6 STSMDA /* DIRECT ACCESS DEVICES */ 00261000 * BIT(1), /* 0-OPTION NOT SELECTED 1-OPTION 00262000 * SELECTED */ 00263000 * 6 STSMGRAP /* GRAPHICS DEVICES */ 00264000 * BIT(1), /* 0-OPTION NOT SELECTED 1-OPTION 00265000 * SELECTED */ 00266000 * 6 STSMUNIT /* UNIT RECORD DEVICES */ 00267000 * BIT(1), /* 0-OPTION NOT SELECTED 1-OPTION 00268000 * SELECTED */ 00269000 * 6 STSMCRDR /* CHARACTER READER DEVICES */ 00270000 * BIT(1), /* 0-OPTION NOT SELECTED 1-OPTION 00271000 * SELECTED */ 00272000 * 1 STSMC /* DEFINE DIFFERENT OPTIONS */ 00273000 * BDY(WORD) DEF(STSMOPT), 0017 00274000 * 3 * BIT(24), 0017 00275000 * 3 * /* LAST BYTE IN WORD */ 00276000 * BIT(8), 0017 00277000 * 6 * BIT(6), 0017 00278000 * 6 STSMWKLD /* WORKLOAD OPTION. */ 00279000 * 0017 00280000 * /********************************************************/ 00281000 * /* */ 00282000 * /* VALUE IS IN ORDER OF LEVEL OF DETAIL (VOLUME) OF */ 00283000 * /* REPORT PRINTOUT. */ 00284000 * /* */ 00285000 * /********************************************************/ 00286000 * 0017 00287000 * BIT(2) /* 00-OPTION OFF, 01-SYSTEM DATA, 00288000 * 10-GROUP,SYSTEM, 0017 00289000 * 11-PERIOD,GROUP, SYSTEM */ 00290000 * ; 0017 00291000 * 0017 00292000 * /*****************************************************************/ 00293000 * /* */ 00294000 * /* WORKLOAD ACTIVITY TRACE RECORD */ 00295000 * /* */ 00296000 * /*****************************************************************/ 00297000 * 0018 00298000 */* */ 00299000 */* MACMEAN IFASMFR MEANS SYSTEM MANAGEMENT FACILITY RECORD MAPPING */ 00300000 */* MACCOMP Y-2 SC102/BL27P */ 00301000 */* MACSTAT Y-2 73298/42020 */ 00302000 */* METHOD OF ACCESS */ 00303000 */* PL/S - USER DEFINES MACRO VARIABLE IFARXX WHERE XX=RECORD NUM */ 00304000 */* DECLARE SMFXXPTR PTR(31) OR RESPECIFY FOR BASE */ 00305000 */* INCLUDE MACRO FROM LIBRARY */ 00306000 */* EXAMPLE %IFAR08 = 'YES', NOTE. THE COMMA REP-*/ 00307000 */* DCL SMF08PTR PTR(31), RESENTS A SEMI-COLON*/ 00308000 */* %INCLUDE SYSLIB(IFASMFR), BUT ISN'T TO AVIOD */ 00309000 */* A DIAGNOSTIC. */ 00310000 */* */ 00311000 */* */ 00312000 */* THIS MACRO PROCESSES RECORDS IN THE RANGE 00-06. IT */ 00313000 */* ACTS AS A ROUTER TO OTHER MACROS TO PROCESS OTHER */ 00314000 */* RECORDS AS FOLLOWS: */ 00315000 */* */ 00316000 */* MACRO RECORDS */ 00317000 */* ******** ******* */ 00318000 */* IFASMFR1 07-19 */ 00319000 */* IFASMFR2 20-27 */ 00320000 */* IFASMFR3 28-36 */ 00321000 */* IFASMFR4 37-46 */ 00322000 */* IFASMFR5 47-54 */ 00323000 */* IFASMFR6 55-69 */ 00324000 */* IFASMFR7 70-73 */ 00325000 */* IFASMFR8 74-79 */ 00326000 */* IFASMFR9 80-93 */ 00327000 */* IFASMFRA 94-103 */ 00328000 */* IFASMFRB 104-113 */ 00329000 */* IFAMSFRC 114-123 */ 00330000 */* IFASMFRD 124-127 */ 00331000 * 0018 00332000 * DCL 0018 00333000 * 1 SMFRCD72 BASED(SMF72PTR) BDY(WORD), 0018 00334000 * 0018 00335000 */* RECORD TYPE 72 - WORKLOAD ACTIVITY */ 00336000 * 0018 00337000 * 3 SMF72LEN FIXED(15), /* RDW RECORD LENGTH */ 00338000 * 3 SMF72SEG FIXED(15), /* RDW SEGMENT DESCRIPTOR */ 00339000 * 3 SMF72FLG BIT(8), /* OPERATING ENVIRONMENT */ 00340000 * 3 SMF72RTY FIXED(8), /* RECORD TYPE 72 */ 00341000 * 3 SMF72TME FIXED(31) BDY(BYTE),/* TOD RECORD WRITTEN */ 00342000 * 3 SMF72DTE CHAR(4), /* DATE RECORD WRITTEN */ 00343000 * 3 SMF72SID CHAR(4), /* SYSTEM ID FROM INSTALLATION */ 00344000 * 0018 00345000 * /***************************************************************/ 00346000 * /* */ 00347000 * /* COMMON CONTROL DATA */ 00348000 * /* */ 00349000 * /***************************************************************/ 00350000 * 0018 00351000 * 3 SMF72SIZ PTR(15), /* SIZE OF COMMON CONTROL DATA 0018 00352000 * AREA */ 00353000 * 3 SMF72IST CHAR(4), /* TOD INTERVAL START 0HHMMSSF */ 00354000 * 3 SMF72DAT CHAR(4), /* DATE INTERVAL START 00YYDDDF */ 00355000 * 3 SMF72INT CHAR(4), /* DURATION OF INTERVAL MMSSTTTF */ 00356000 * 3 SMF72CYC CHAR(2), /* RESV */ 00357000 * 3 SMF72SUB CHAR(2), /* SUB-CATEGORY CODE, PERF GROUP 00358000 * # */ 00359000 * 3 SMF72SAM FIXED(32), /* RESV */ 00360000 * 3 SMF72MFV CHAR(2), /* MF/1 VERSION # */ 00361000 * 3 SMF72RV1 CHAR(2), /* RESV */ 00362000 * 3 SMF72RLS CHAR(4); /* OP SYS REL # & LEVEL NNLL */ 00363000 */* WORKLOAD CONTROL AREA VARIABLES */ 00364000 * 0019 00365000 * DCL 0019 00366000 * 1 SMF72A BASED(ADDR(SMF72SIZ)+SMF72SIZ) BDY(WORD), 0019 00367000 * 3 SMF72SWC PTR(15), /* SIZE OF WORKLOAD CONTROL AREA */ 00368000 * 3 SMF72PGP FIXED(15), /* # OF PGP MEASUREMENTS IN PGP 00369000 * DATA */ 00370000 * 3 SMF72SPD FIXED(15), /* SIZE OF EACH PGP DATA AREA */ 00371000 * 3 SMF72HPG FIXED(15), /* HIGHEST PERF GP # DEFINED IN 00372000 * IPS */ 00373000 * 3 SMF72IPS CHAR(8); /* NAME OF IPS(INSTAL PERF SPEC) */ 00374000 */* PERFORMANCE GROUP PERIOD DATA */ 00375000 * 0020 00376000 * DCL 0020 00377000 * 1 SMF72B(*) BASED(ADDR(SMF72SWC)+SMF72SWC) BDY(WORD), 0020 00378000 * 3 SMF72TTX FIXED(32), /* # OF TERMINATED TRANSACTIONS */ 00379000 * 3 SMF72ACT FIXED(32), /* ALL TRANS ACTIVE TIME-1K MIC 00380000 * SEC */ 00381000 * 3 SMF72SER FIXED(32), /* ALL TRANS SERVICE UNITS */ 00382000 * 3 SMF72TTM FIXED(32), /* TERM TRANS ELAPSED TIME-1K 0020 00383000 * MICSEC */ 00384000 * 3 SMF72LEV FIXED(31); /* WORKLOAD LEVEL(1/256 OF A 0020 00385000 * LEVEL) */ 00386000 * 0020 00387000 * /*****************************************************************/ 00388000 * /* */ 00389000 * /* WORKLOAD ACTIVITY MEASUREMENT TABLE */ 00390000 * /* */ 00391000 * /*****************************************************************/ 00392000 * 0021 00393000 * 0021 00394000 */* MACCOMP Z-4 SC1CX/PKD16 */ 00395000 */* MACSTAT Z-4 75007/Z40BPSS */ 00396000 */* *************************************************************** */ 00397000 */* */ 00398000 */* MACRO NAME - IRAWAMT */ 00399000 */* */ 00400000 */* DESCRIPTIVE NAME - WORKLOAD ACTIVITY MEASUREMENTS TABLE */ 00401000 */* */ 00402000 */* COPYRIGHT - NONE */ 00403000 */* */ 00404000 */* STATUS - OS/VS2 RELEASE 4, 09/23/75, LEVEL=1 */ 00405000 */* */ 00406000 */* FUNCTION - THE WAMT PROVIDES THE STORAGE AREA IN WHICH */ 00407000 */* INFORMATION IS COLLECTED BY THE SYSTEM RESOURCES */ 00408000 */* MANAGER FOR USE BY THE SYSTEM ACTIVITY MEASUREMENT */ 00409000 */* FACILITY. THE WAMT, AND THE MODULE WHICH UPDATES */ 00410000 */* IT, ARE SUPPLIED BY THE SYSTEM ACTIVITY MEASURMENT */ 00411000 */* FACILITY FOR THE DURATION OF THE WORKLOAD ACTIVITY */ 00412000 */* DATA GATHERING OPERATION. */ 00413000 */* */ 00414000 */* METHOD OF ACCESS - THE ADDRESS OF THE WAMT IS CONTAINED IN */ 00415000 */* THE -RMCTWAMT- FIELD OF THE SYSTEM RESOURCES MANAGER */ 00416000 */* CONTROL TABLE. THE OFFSET OF THE FIRST WAMPPGP FOR */ 00417000 */* A PERFORMANCE GROUP IS CONTAINED IN THE WAMTNDX ENTRY */ 00418000 */* CORRESPONDING TO THE PERFORMANCE GROUP NUMBER. */ 00419000 */* */ 00420000 */* *************************************************************** */ 00421000 * 0021 00422000 * 0021 00423000 */* *************************************************************** */ 00424000 */* */ 00425000 */* CONSTRUCTION METHOD - THE WAMPPGP'S ARE ASSIGNED CONTIGUOUS */ 00426000 */* STORAGE, WITH THE WAMPPGP FOR THE 2ND PERIOD IN A */ 00427000 */* PERFORMANCE GROUP FOLLOWING THE WAMPPGP FOR THE 1ST */ 00428000 */* PERIOD, ETC., AND WITH THE 1ST WAMPPGP OF THE NEXT */ 00429000 */* PERFORMANCE GROUP FOLLOWING THE LAST WAMPPGP OF THE */ 00430000 */* PREVIOUS PERFORMANCE GROUP. THE NUMBER OF ENTRIES */ 00431000 */* IN THE WAMTNDX ARRAY IS 2 MORE THAN THE HIGHEST PER- */ 00432000 */* FORMANCE GROUP NUMBER. WAMTNX0 HOLDS THE OFFSET OF */ 00433000 */* A WAMPPGP RESERVED FOR PERFORMANCE GROUP ZERO. THE */ 00434000 */* FIRST POSITION IN THE WAMTNDX ARRAY IS DECLARED AS */ 00435000 */* COINCIDING WITH THE WAMTNX1 FIELD. THEREAFTER, EACH */ 00436000 */* SUCCESSIVE WAMTNDX ARRAY ENTRY CONTAINS THE OFFSET */ 00437000 */* OF THE POSITION FOLLOWING THE LAST WAMPPGP ASSIGNED */ 00438000 */* TO LOWER-NUMBERED PERFORMANCE GROUPS. */ 00439000 */* */ 00440000 */* THE NUMBER OF PERIODS IN A PERFORMANCE GROUP CAN BE */ 00441000 */* OBTAINED BY SUBTRACTING ITS WAMTNDX FIELD FROM THE */ 00442000 */* NEXT ADJACENT WAMTNDX FIELD, AND DIVIDING BY THE */ 00443000 */* WAMPPGP SIZE. */ 00444000 */* */ 00445000 */* INVOCATION PARAMETERS AND/OR KEYWORDS = */ 00446000 */* */ 00447000 */* BAL - DSECT=NO IF DSECT IS NOT TO BE PRODUCED. */ 00448000 */* */ 00449000 */* USING ON WAMT GIVES ADDRESSABILITY TO WAMT SYMBOLS. */ 00450000 */* USING ON WAMP GIVES ADDRESSABILITY TO WAMP SYMBOLS. */ 00451000 */* */ 00452000 */* PLS - %WAMTSFX='USERCHAR' IF THE INDICATED CHARACTER IS */ 00453000 */* TO BE APPENDED TO ALL NAMES IN THE MAPPING, THEREBY */ 00454000 */* CREATING DUPLICATE DEFINITIONS BASED ON DIFFERENT */ 00455000 */* POINTERS. */ 00456000 */* - %WAMT9999=',' IF THE STRUCTURE SHOULD NOT BE CLOSED. */ 00457000 */* */ 00458000 */* NOTE - DUE TO THE FACILITY WHICH PERMITS MULTIPLE */ 00459000 */* INCLUDES OF THE IRAWAMT MAPPING MACRO, IT IS NOT */ 00460000 */* POSSIBLE TO CONCATENATE THE IRAWAMT DECLARATION */ 00461000 */* WITH ANOTHER DECLARATION IN SUCH A FASHION THAT */ 00462000 */* BOTH DECLARATIONS ARE BASED ON THE SAME POINTER. */ 00463000 */* */ 00464000 */* TO ACCESS AS A STANDALONE STRUCTURE DCL WAMTPTR PTR. */ 00465000 */* DCL WAMPPTR PTR. */ 00466000 */* */ 00467000 */* CHANGE ACTIVITY = */ 00468000 */* */ 00469000 */* A000000-999999 Y02133*/ 00470000 */* */ 00471000 */* *************************************************************** */ 00472000 * 0021 00473000 * DCL 0021 00474000 * 1 WAMT BASED(WAMTPTR) BDY(DWORD), 0021 00475000 * 10 WAMTWAR PTR(31), /* ADDR OF IRARMWAR MODULE */ 00476000 * 10 WAMTSIZ FIXED, /* TOTL LNG OF WAMT INCL. WAMP'S */ 00477000 * 10 WAMTTMA BIT(64) BDY(DWORD),/* MEASUREMENT ACTIVATE 00478000 * TIME */ 00479000 * 10 WAMTTOC BIT(64) BDY(DWORD),/* WAMT UPDT TIME OF 0021 00480000 * CENTURY */ 00481000 * 10 WAMTASD BIT(32) BDY(WORD),/* MEASUREMENT ADDR SPACE 00482000 * ID */ 00483000 * 10 WAMTTCB PTR(31), /* MEASUREMENT TASK ADDRESS */ 00484000 * 10 WAMTIPS CHAR(2) BDY(HWORD),/* PERFORMANC 0021 00485000 * SPECIFICATN ID */ 00486000 * 10 WAMTCPD FIXED(15),/* COUNT OF PGP'S WITHIN WAMT */ 00487000 * 10 WAMTSPD FIXED(15),/* LENGTH OF DATA FOR ONE PGP */ 00488000 * 10 WAMTHPG FIXED(15),/* HIGH PERF. GROUP NUMBER */ 00489000 * 10 WAMTIPC CHAR(4) BDY(WORD),/* CPU SERVICE COEF. 0021 00490000 * @Z40BPCH*/ 00491000 * 10 WAMTIPI CHAR(4) BDY(WORD),/* I/O SERVICE COEF. 0021 00492000 * @Z40BPCH*/ 00493000 * 10 WAMTIPM CHAR(4) BDY(WORD),/* MSO SERVICE COEF. 0021 00494000 * @Z40BPCH*/ 00495000 * 10 WAMTNX0 PTR(31), /* OFFST TO WAMPPGP OF PRF GRP 0 */ 00496000 * 10 WAMTNX1 PTR(31), /* OFFST TO WAMPPGP OF PRF GRP 1 */ 00497000 * 10 WAMTR90 FIXED, /* RESERVED @Z40BPCH*/ 00498000 * 10 WAMTEND CHAR(0) BDY(DWORD),/* END OF WAMT */ 00499000 */* THE I'TH POSITION OF THE FOLLOWING ARRAY CONTAINS THE OFFSET */ 00500000 */* FROM THE BEGINNING OF THE WAMT TO THE STARTING POSITION OF */ 00501000 */* THE WAMPPGP'S FOR THE I'TH PERFORMANCE GROUP. */ 00502000 * 0021 00503000 * WAMTNDX(*) DEFINED(WAMTNX1) PTR(31), 0021 00504000 * 0021 00505000 */* THE WAMP ACCUMULATES WORKLOAD INFORMATION FOR ONE PERFORMANCE */ 00506000 */* GROUP PERIOD. THERE MAY BE 1 TO 8 PERIODS FOR ONE GROUP. */ 00507000 * 0021 00508000 * 1 WAMP BASED(WAMPPTR) BDY(WORD), 0021 00509000 * 10 WAMPPGP, /* PERFORMANCE GROUP PERIOD DATA */ 00510000 * 12 WAMPTRN FIXED(32),/* COUNT OF TRANSACTIONS ENDED */ 00511000 * 12 WAMPTAT FIXED(32),/* TOTAL ACTIVE TIME FOR PERIOD 00512000 * 1024 MICROSEC = LOW BIT */ 00513000 * 12 WAMPSRV FIXED(32),/* TOT SERVICE UNITS FOR PERIOD*/ 00514000 * 12 WAMPTET FIXED(32),/* TOT ELAPS TIM OF XACTNS 0021 00515000 * ENDED 1024 MICROSEC = LOW BIT */ 00516000 * 12 WAMPNWL FIXED(31),/* NORMALIZED WORKLOAD LEVEL 0021 00517000 * 1/256TH OF A LEVEL = LOW BIT */ 00518000 * 12 WAMPCPU FIXED(32),/* TOTAL CPU SERVICE UNITS FOR 00519000 * PERIOD @Z40BPCH*/ 00520000 * 12 WAMPIOC FIXED(32),/* TOTAL I/O SERVICE UNITS FOR 00521000 * PERIOD @Z40BPCH*/ 00522000 * 12 WAMPMSO FIXED(32),/* TOTAL MSO SERVICE UNITS FOR 00523000 * PERIOD @Z40BPCH*/ 00524000 * 12 WAMPTRR FIXED(32),/* TOTAL RESIDENT TIME FOR 0021 00525000 * PERIOD @Z40BPCH*/ 00526000 * 12 WAMPSWC FIXED, /* TOTAL SWAP COUNT FOR PERIOD 0021 00527000 * @Z40BPCH*/ 00528000 * 12 WAMPOBJN FIXED(8),/* PERF. OBJ. NO FOR PER 0021 00529000 * @Z40BPCH*/ 00530000 * 12 WAMPDMN FIXED(8),/* DOMAIN NO. FOR PERIOD 0021 00531000 * @Z40BPCH*/ 00532000 * 12 WAMPRSV CHAR(2) BDY(HWORD),/* RESERVED @Z40BPCH*/ 00533000 * 10 WAMPEND CHAR(0) BDY(WORD)/* END OF WAMP */ 00534000 * ; 0021 00535000 * 0022 00536000 * /*****************************************************************/ 00537000 * /* */ 00538000 * /* GENERAL REGISTER DEFINITION */ 00539000 * /* */ 00540000 * /*****************************************************************/ 00541000 * 0022 00542000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00543000 * GPR00F FIXED(31) REG(0), 0022 00544000 * GPR01F FIXED(31) REG(1), 0022 00545000 * GPR14F FIXED(31) REG(14), 0022 00546000 * GPR15F FIXED(31) REG(15), 0022 00547000 * GPR00P PTR(31) REG(0), 0022 00548000 * GPR01P PTR(31) REG(1), 0022 00549000 * GPR14P PTR(31) REG(14), 0022 00550000 * GPR15P PTR(31) REG(15); 0022 00551000 * DECLARE /* MISC BASED VARIABLES */ 00552000 * (IKEBC CHAR(256), 0023 00553000 * IKEBP8 PTR(8), 0023 00554000 * IKEBF31 FIXED(31), 0023 00555000 * IKEBF15 FIXED(15), 0023 00556000 * IKEBP31 PTR(31), 0023 00557000 * IKEBP15 PTR(15)) BASED; 0023 00558000 * DCL 0024 00559000 * GPR02P /* GPR 02 */ 00560000 * REG(02) PTR(31), 0024 00561000 * GPR03P /* GPR 03 */ 00562000 * REG(03) PTR(31), 0024 00563000 * GPR04P /* GPR 04 */ 00564000 * REG(04) PTR(31), 0024 00565000 * SMF72PTR /* WORKLOAD ACTIVITY TRACE RECORD 00566000 * POINTER */ 00567000 * REG(05) PTR(31), 0024 00568000 * I /* TCB KEY LOOP INDEX */ 00569000 * REG(06) PTR(31), 0024 00570000 * J /* TCB KEY LOOP INDEX */ 00571000 * REG(07) PTR(31), 0024 00572000 * WAMPPTR /* PGP DATA PTR TCB KEY LOOP 0024 00573000 * INDEX */ 00574000 * REG(08) PTR(31), 0024 00575000 * GPR11P /* GPR 11 */ 00576000 * REG(11) PTR(31), 0024 00577000 * GPR12P /* GPR 12 */ 00578000 * REG(12) PTR(31), 0024 00579000 * GPR13P /* GPR 13 */ 00580000 * REG(13) PTR(31); 0024 00581000 * 0025 00582000 */* MISCELLANEOUS DECLARATIONS */ 00583000 * 0025 00584000 * DCL 0025 00585000 * W /* LOOP INDEX TO WAMT. */ 00586000 * FIXED(31), 0025 00587000 * CVTPTR /* CVT ADDRESS */ 00588000 * PTR(31) DEFINED(FLCCVT), 0025 00589000 * DWBINWRK /* INTERVAL DURATION IN 0025 00590000 * THOUSANDTHS OF SECONDS, BINARY*/ 00591000 * FIXED(31), 0025 00592000 * DWCOLCOD /* SYSEVENT WKLDCOLL RETURN CODE */ 00593000 * FIXED(31), 0025 00594000 * DWDATEOI /* DATE OF END OF INTERVAL */ 00595000 * FIXED(31), 0025 00596000 * DWDATSOI /* DATE OF START OF INTERVAL */ 00597000 * FIXED(31), /* PARAMETER 8 */ 00598000 * DWDATIPS /* DATE OF IPS CHANGE */ 00599000 * FIXED(31), 0025 00600000 * DWDWORD /* TEMPORARY DOUBLE WORD STORAGE */ 00601000 * CHAR(8) BDY(DWORD), 0025 00602000 * DWINICOD /* WORKLOAD IRBMFIXX RETURN CODE */ 00603000 * FIXED(31), 0025 00604000 * DWINITCF /* INITIAL CALL FLAG */ 00605000 * BIT(1), /* PARAMETER 3 */ 00606000 * DWINTFLG /* FLAG FOR WHICH INTERVAL LENGTH 00607000 * TO USE, MF/1 OR SRM FROM WAMT.*/ 00608000 * BIT(1), 0025 00609000 * DWINTSRT /* LOCAL TOD START OF INTERVAL 0025 00610000 * PACKED, FORM 0HHMMSSF */ 00611000 * CHAR(4), /* PARAMETER 7 */ 00612000 * DWINTLEN /* LENGTH OF INTERVAL PACKED FORM 00613000 * MMSSTTTF */ 00614000 * CHAR(4), 0025 00615000 * DWMFINTL /* PARAMETER 9. MF1 INTERVAL 0025 00616000 * LENGTH IN FORMAT MMSSTTTF */ 00617000 * CHAR(4), 0025 00618000 * DWMODEPA /* LOADED MODULE ENTRY POINT ADDR*/ 00619000 * PTR(31), 0025 00620000 * DWPATCH /* PATCH AREA */ 00621000 * STATIC LOCAL CHAR(100), 0025 00622000 * DWPGFECB /* ECB FOR PAGE FIX */ 00623000 * FIXED(31), 0025 00624000 * DWPGNCNT /* PERFORMANCE GROUP COUNT */ 00625000 * FIXED(31), 0025 00626000 * DWSAVKEY /* SAVED KEY BY MODESET */ 00627000 * CHAR(1), 0025 00628000 * 1 DWSHWORK /* TEMPORARY SMF HDR WORK AREA */ 00629000 * BDY(WORD), 0025 00630000 * 2 * CHAR(LENGTH(SMFRCD72)), 0025 00631000 * 2 * CHAR(LENGTH(SMF72A)), 0025 00632000 * DWSHWKB /* TEMP SMF HDR WORK AREA BASED 00633000 * VARIABLE */ 00634000 * CHAR(LENGTH(DWSHWORK)) BASED, 0025 00635000 * DWSMFADD /* TEMP ADDRESS OF SMF OUTPUT TO 00636000 * SET PREFIX WHILE IN TCB KEY */ 00637000 * PTR(31), 0025 00638000 * DWSMFHDR /* INPUT SMF HDR DATA */ 00639000 * DEFINED(DWSMFHPM) CHAR(LENGTH(SMFRCD72)), 0025 00640000 * DWSMFHPM /* INPUT SMF HDR PARAMETER 5 */ 00641000 * CHAR(*), /* DUMMY LENGTH, SEE DWSMFHDR */ 00642000 * 1 DWSMFSRG /* SMF RECORDS AREA SP & LENGTH */ 00643000 * BDY(WORD), 0025 00644000 * 2 DWSMFSP /* SUBPOOL */ 00645000 * FIXED(8), 0025 00646000 * 2 DWSMFLEN /* LENGTH */ 00647000 * FIXED(24), 0025 00648000 * 1 DWSPLEN /* SUBPOOL & LENGTH PREFIX */ 00649000 * BDY(WORD) BASED, 0025 00650000 * 2 DWSP /* SUBPOOL */ 00651000 * FIXED(8), 0025 00652000 * 2 DWLEN /* LENGTH */ 00653000 * FIXED(24), 0025 00654000 * DWSYSEVT /* FLAG, OF LAST SYSEVENT ISSUED: 00655000 * WKLDCOLL OR WKLDINIT, FOR 0025 00656000 * INTERVAL TIME CALCULATION */ 00657000 * BIT(1), 0025 00658000 * DWTCBADD /* TCB ADDRESS */ 00659000 * PTR(31), /* PARAMETER 6 */ 00660000 * DWTOCEOD /* TIME OF CENTURY, END OF 0025 00661000 * INTERVAL DATA LENGTH */ 00662000 * CHAR(8) BDY(DWORD), 0025 00663000 * DWTOCSOD /* TIME OF CENTURY, START OF 0025 00664000 * INTERVAL DATA LENGTH */ 00665000 * CHAR(8) BDY(DWORD), 0025 00666000 * DWTODEOI /* TIME OF DAY, END OF INTERVAL 00667000 * TOD CLOCK FORMAT */ 00668000 * CHAR(8) BDY(DWORD), 0025 00669000 * DWTODIPS /* TIME OF DAY, START OF NEW IPS 00670000 * WORKLOAD INTERVAL */ 00671000 * CHAR(8) BDY(DWORD), 0025 00672000 * DWTODSOI /* TIME OF DAY, START OF 0025 00673000 * INTERVAL, TOD CLOCK FORMAT */ 00674000 * CHAR(8) BDY(DWORD), 0025 00675000 * DWTRACEO /* TRACE OPTION */ 00676000 * BIT(1), /* PARAMETER 4 */ 00677000 * 1 DWWAMSRG /* LOCAL WAMT SUBPOOL & LENGTH */ 00678000 * BDY(WORD), 0025 00679000 * 2 DWWAMSP /* LOCAL WAMT SUBPOOL */ 00680000 * FIXED(8), 0025 00681000 * 2 DWWAMLEN /* LOCAL WAMT LENGTH */ 00682000 * FIXED(24), 0025 00683000 * DWWRKTME /* START OF INTERVAL, LOCAL TOD, 00684000 * IN SECONDS SINCE MIDNIGHT */ 00685000 * FIXED(31), 0025 00686000 * IRBMFIXX /* WORKLOAD INITIALIZATION ROUTIN*/ 00687000 * ENTRY BASED(DWMODEPA), 0025 00688000 * IRBMFTXX /* GENERAL RESOURCE RELEASE */ 00689000 * ENTRY BASED(DWMODEPA), 0025 00690000 * SMAPTR /* SMA PTR FOR THIS OPTION */ 00691000 * PTR(31), /* PARAMETER 1 */ 00692000 * SMF72S /* PTR TO WORKLOAD SMF RECORDS */ 00693000 * PTR(31), /* PARAMETER 2 */ 00694000 * WAMTPTR /* WORKLOAD ACTIVITY MEASUREMENTS 00695000 * TABLE ADDRESS */ 00696000 * PTR(31); 0025 00697000 * 0026 00698000 */* CONSTANT DECLARATIONS */ 00699000 * 0026 00700000 * DCL 0026 00701000 * CCOLL /* FLAG STATUS OF SYSEVENT 0026 00702000 * WKLDCOLL */ 00703000 * BIT(1) CONSTANT('0'B), 0026 00704000 * CINIT /* FLAG STATUS OF SYSEVENT 0026 00705000 * WKLDINIT */ 00706000 * BIT(1) CONSTANT('1'B), 0026 00707000 * CINITCF /* INITIAL CALL FLAG */ 00708000 * BIT(1) CONSTANT('1'B), 0026 00709000 * CSRCNORM /* NORMAL SYSEVENT RETURN CODE */ 00710000 * CONSTANT(0), 0026 00711000 * CIPSCHNG /* IPS CHANGE, SYSEVENT RETURN 0026 00712000 * CODE */ 00713000 * CONSTANT(4), 0026 00714000 * CKSEC /* THOUSANDS SECONDS IN A MINUTE */ 00715000 * CONSTANT(60000), 0026 00716000 * CLEAR /* FLAG STATUS, CLEAR */ 00717000 * BIT(1) CONSTANT('0'B), 0026 00718000 * CLEARECB /* ECB STATUS, CLEAR */ 00719000 * CONSTANT(0), 0026 00720000 * CSET /* FLAG STATUS, SET */ 00721000 * BIT(1) CONSTANT('1'B), 0026 00722000 * CSPLENPR /* SP & LENGTH PREFIX DISPLACE- 00723000 * MENT TO STORAGE AREA */ 00724000 * CONSTANT(-4); 0026 00725000 * 0027 00726000 */* FUNCTIONAL CODE */ 00727000 * 0027 00728000 * /*****************************************************************/ 00729000 * /* */ 00730000 * /* REMEMBER SAVE AREA ADDRESS FOR REENTRY FROM IGX00014 */ 00731000 * /* */ 00732000 * /*****************************************************************/ 00733000 * 0027 00734000 * RFY 0027 00735000 * (GPR13P) RSTD; 0027 00736000 * STSMSAVE=GPR13P; 0028 00737000 L @10,@PC00001 0028 00738000 L @10,SMAPTR(,@10) 0028 00739000 ST GPR13P,STSMSAVE(,@10) 0028 00740000 * RFY 0029 00741000 * (GPR13P) UNRSTD; 0029 00742000 * 0029 00743000 * /*****************************************************************/ 00744000 * /* */ 00745000 * /* GET LOCAL MAIN STORAGE FOR COPYING WAMT DATA (WORKLOAD */ 00746000 * /* ACTIVITY MEASUREMENTS TABLE), FIX IT, AND REMEMBER IT IN */ 00747000 * /* RESOURCE TABLE STSGT. MACDATE Y-2 73018 */ 00748000 * /* */ 00749000 * /*****************************************************************/ 00750000 * 0030 00751000 * RESPECIFY 0030 00752000 * (GPR00P, 0030 00753000 * GPR01P, 0030 00754000 * GPR14P, 0030 00755000 * GPR15P) RESTRICTED; 0030 00756000 * DWWAMSP=STSMISP; /* LOCAL WAMT SUBPOOL */ 00757000 IC @09,STSMISP(,@10) 0031 00758000 STC @09,DWWAMSP 0031 00759000 * DWWAMLEN=DWWIWAML; /* LOCAL WAMT LENGTH */ 00760000 L @10,STSMLCOM(,@10) 0032 00761000 MVC DWWAMLEN(3),DWWIWAML+1(@10) 0032 00762000 * GPR00P=DWWAMSRG; /* SUBPOOL & LENGTH */ 00763000 L GPR00P,DWWAMSRG 0033 00764000 * GEN; 0034 00765000 GETMAIN R,LV=(0) ADDRESS RETURNS IN GPR01P 00766000 * WAMTPTR=GPR01P; /* SET WAMT ADDRESS */ 00767000 ST GPR01P,WAMTPTR 0035 00768000 * STSGFREE(STRVNSGT)=DWWAMSRG; /* REMEMBER AREA SP&LENGTH IN SGT*/ 00769000 L @10,@PC00001 0036 00770000 L @10,SMAPTR(,@10) 0036 00771000 L @09,STSMRVT(,@10) 0036 00772000 L @08,STRVNSGT(,@09) 0036 00773000 LR @07,@08 0036 00774000 SLA @07,3 0036 00775000 L @06,STRVSSGT(,@09) 0036 00776000 ST @07,@TF00001 0036 00777000 ALR @07,@06 0036 00778000 AL @07,@CF01222 0036 00779000 MVC STSGFREE(4,@07),DWWAMSRG 0036 00780000 * STSGADD(STRVNSGT)=GPR01P; /* REMEMBER ADDRESS */ 00781000 L @07,@TF00001 0037 00782000 AL @06,@CF01194 0037 00783000 ST GPR01P,STSGADD-4(@07,@06) 0037 00784000 * STRVNSGT=STRVNSGT+1; /* POINT TO NEXT STSGT ENTRY */ 00785000 * 0038 00786000 AL @08,@CF00078 0038 00787000 ST @08,STRVNSGT(,@09) 0038 00788000 * /*****************************************************************/ 00789000 * /* */ 00790000 * /* DATA INPUT FOR SYSEVENT WKLDCOLL: */ 00791000 * /* */ 00792000 * /*****************************************************************/ 00793000 * 0039 00794000 * WAMTSIZ=DWWIWAML; /* SIZE OF WAMT INCL. WAMPS */ 00795000 * 0039 00796000 L @09,WAMTPTR 0039 00797000 L @10,STSMLCOM(,@10) 0039 00798000 L @10,DWWIWAML(,@10) 0039 00799000 ST @10,WAMTSIZ(,@09) 0039 00800000 * /*****************************************************************/ 00801000 * /* */ 00802000 * /* FIX THIS LOCAL WAMT SO WORKLOAD MANAGER TAKES NO PAGE FAULTS */ 00803000 * /* */ 00804000 * /*****************************************************************/ 00805000 * 0040 00806000 * GPR15P=GPR01P+DWWIWAML; /* END ADDRESS OF WAMT FOR PGFIX */ 00807000 ALR @10,GPR01P 0040 00808000 LR GPR15P,@10 0040 00809000 * DWPGFECB=CLEARECB; /* ZERO ECB FOR PAGE FIX */ 00810000 SLR @10,@10 0041 00811000 ST @10,DWPGFECB 0041 00812000 * GPR00P=ADDR(DWPGFECB); /* ECB ADDRESS FOR PGFIX */ 00813000 LA GPR00P,DWPGFECB 0042 00814000 * GEN; 0043 00815000 PGFIX R,A=(@01),EA=(@15),ECB=(@00),LONG=N 00816000 * IF GPR15P^=0 THEN /* IF PAGE NOT IMMEDIATELY FIXED */ 00817000 LTR GPR15P,GPR15P 0044 00818000 BZ @RF00044 0044 00819000 * DO; 0045 00820000 * GEN SETS(DWPGFECB); 0046 00821000 WAIT ECB=DWPGFECB WAIT FOR PAGE TO BE FIXED 00822000 * END; 0047 00823000 * 0047 00824000 * /*****************************************************************/ 00825000 * /* */ 00826000 * /* FIX CODE AND FIX DATA REFERENCED BY DISABLED ENTRY OF PROGRAM */ 00827000 * /* FIX CODE AND STATIC DATA. */ 00828000 * /* */ 00829000 * /*****************************************************************/ 00830000 * 0048 00831000 * DWPGFECB=CLEARECB; /* ZERO ECB FOR PAGE FIX */ 00832000 @RF00044 SLR @10,@10 0048 00833000 ST @10,DWPGFECB 0048 00834000 * GEN SETS(DWPGFECB); 0049 00835000 * 0049 00836000 LA @01,@PSTART 00837000 LA @15,@ENDDATA 00838000 LA @00,DWPGFECB 00839000 PGFIX R,A=(@01),EA=(@15),ECB=(@00),LONG=N 00840000 WAIT ECB=DWPGFECB 00841000 * /*****************************************************************/ 00842000 * /* */ 00843000 * /* PROGRAM FIX WAS REMEMBERED IN RESOURCE TABLE WHEN LOADED. FIX */ 00844000 * /* AUTOMATIC DATA. */ 00845000 * /* */ 00846000 * /*****************************************************************/ 00847000 * 0050 00848000 * DWPGFECB=CLEARECB; /* ZERO ECB FOR PAGE FIX */ 00849000 SLR @10,@10 0050 00850000 ST @10,DWPGFECB 0050 00851000 * GEN SETS(DWPGFECB); 0051 00852000 * 0051 00853000 LA @01,@DATD 00854000 LA @15,@ENDDATD 00855000 LA @00,DWPGFECB 00856000 PGFIX R,A=(@01),EA=(@15),ECB=(@00),LONG=N 00857000 WAIT ECB=DWPGFECB 00858000 * /*****************************************************************/ 00859000 * /* */ 00860000 * /* REMEMBER FIXED LOCATIONS IN STORAGE RESOURCE TABLE (STSCT) */ 00861000 * /* */ 00862000 * /*****************************************************************/ 00863000 * 0052 00864000 * GEN; 0052 00865000 L GPR00P,@SIZDATD GET SUBPOOL&LENGTH AUTOMATIC DATA 00866000 LA GPR01P,@DATD GET ADDRESS OF AUTOMATIC DATA 00867000 * STSGFREE(STRVNSGT)=GPR00P; /* PUT SP& LEN IN STSGT */ 00868000 L @10,@PC00001 0053 00869000 L @10,SMAPTR(,@10) 0053 00870000 L @10,STSMRVT(,@10) 0053 00871000 L @09,STRVNSGT(,@10) 0053 00872000 LR @08,@09 0053 00873000 SLA @08,3 0053 00874000 L @07,STRVSSGT(,@10) 0053 00875000 LA @06,0(@08,@07) 0053 00876000 AL @06,@CF01222 0053 00877000 ST GPR00P,STSGFREE(,@06) 0053 00878000 * STSGADD(STRVNSGT)=GPR01P; /* PUT ADDRESS IN STSGT */ 00879000 AL @07,@CF01194 0054 00880000 ST GPR01P,STSGADD-4(@08,@07) 0054 00881000 * STRVNSGT=STRVNSGT+1; /* POINT TO NEXT STSGT ENTRY */ 00882000 * 0055 00883000 AL @09,@CF00078 0055 00884000 ST @09,STRVNSGT(,@10) 0055 00885000 * /*****************************************************************/ 00886000 * /* */ 00887000 * /* RETURN TO CALLER WITHOUT FREEING AUTOMATIC DATA, AND LEAVING */ 00888000 * /* ABOVE PAGE FIXES IN EFFECT. DWMOVE: IRBBREAK MACDATE Y-2 73018*/ 00889000 * /* */ 00890000 * /*****************************************************************/ 00891000 * 0056 00892000 *DWMOVE: 0056 00893000 * 0056 00894000 * /*****************************************************************/ 00895000 * /* */ 00896000 * /* INDICATE NEXT ROUTINE ADDRESS TO SVC MAINLINE FOR REENTRY */ 00897000 * /* */ 00898000 * /*****************************************************************/ 00899000 * 0056 00900000 * STSMENTR=ADDR(DWRT0008); 0056 00901000 DWMOVE L @10,@PC00001 0056 00902000 L @10,SMAPTR(,@10) 0056 00903000 LA @09,DWRT0008 0056 00904000 ST @09,STSMENTR(,@10) 0056 00905000 * RESPECIFY 0057 00906000 * (GPR00P, 0057 00907000 * GPR01P, 0057 00908000 * GPR14P, 0057 00909000 * GPR15P) RESTRICTED; 0057 00910000 * GENERATE; 0058 00911000 STM @02,@12,28(@13) SAVE REGISTERS FOR NEXT SEGMENT 00912000 L @13,4(,@13) BACK CHAIN TO CALLERS SAVEAREA 00913000 LM @14,@12,12(@13) RESTORE CALLERS REGISTERS 00914000 BR @14 RETURN TO CALLER 00915000 * 0059 00916000 * /*****************************************************************/ 00917000 * /* */ 00918000 * /* REENTRY POINT FROM CALLER, IGX00014. */ 00919000 * /* */ 00920000 * /*****************************************************************/ 00921000 * 0059 00922000 *DWRT0008: 0059 00923000 * GENERATE; 0059 00924000 DWRT0008 DS 0H 0059 00925000 STM @14,@12,12(@13) SAVE CALLERS REGISTERS 00926000 L @01,0(,@01) GET ADDRESS OF SAVE AREA ADDRESS 00927000 L @01,0(,@01) GET SAVE AREA ADDRESS 00928000 LM @02,@12,28(@01) RELOAD REGISTERS 00929000 ST @13,4(,@01) BACK CHAIN NEW SAVEAREA TO OLD 00930000 ST @01,8(,@13) FORWARD CHAIN FROM OLD TO NEW 00931000 LR @13,@01 R13 NOW POINTS TO NEW SAVEAREA 00932000 * RESPECIFY 0060 00933000 * (GPR00P, 0060 00934000 * GPR01P, 0060 00935000 * GPR14P, 0060 00936000 * GPR15P) UNRESTRICTED; 0060 00937000 * 0060 00938000 * /*****************************************************************/ 00939000 * /* */ 00940000 * /* MACDATE Y-2 73018 */ 00941000 * /* */ 00942000 * /*****************************************************************/ 00943000 * 0061 00944000 * RESPECIFY 0061 00945000 * (GPR00P, 0061 00946000 * GPR01P, 0061 00947000 * GPR14P, 0061 00948000 * GPR15P) RESTRICTED; 0061 00949000 * 0061 00950000 * /*****************************************************************/ 00951000 * /* */ 00952000 * /* IRBMFDWP IS REENTERED AT DWMOVE WHILE PHYSICALLY DISABLED. */ 00953000 * /* WORKLOAD INTERVAL DATA IS GATHERED INTO THE LOCAL WAMT MAIN */ 00954000 * /* STORAGE OBTAINED ABOVE. THIS DATA IS GATHERED WITHOUT ANY I/O */ 00955000 * /* OF ANY KIND BEING PERFORMED BY THE OPERATING SYSTEM. COLLECT */ 00956000 * /* WORKLOAD DATA. */ 00957000 * /* */ 00958000 * /*****************************************************************/ 00959000 * 0062 00960000 * GPR01P=ADDR(WAMT); /* AREA FOR DATA */ 00961000 * 0062 00962000 L GPR01P,WAMTPTR 0062 00963000 * /*****************************************************************/ 00964000 * /* */ 00965000 * /* GPR13P POINTS TO FIXED SAVE AREA */ 00966000 * /* */ 00967000 * /*****************************************************************/ 00968000 * 0063 00969000 * GPR15P=CVTOPTE; /* RESOURCES MGR BRANCH ENTRY LOC*/ 00970000 L @10,CVTPTR 0063 00971000 L GPR15P,CVTOPTE(,@10) 0063 00972000 * GEN(SYSEVENT WKLDCOLL,ENTRY=BRANCH); 0064 00973000 SYSEVENT WKLDCOLL,ENTRY=BRANCH 00974000 * DWSYSEVT=CCOLL; /* LAST SYSEVENT WAS WKLDCOLL */ 00975000 NI DWSYSEVT,B'01111111' 0065 00976000 * DWCOLCOD=GPR15P; /* SAVE RETURN CODE FOR EPILOG 0066 00977000 * EXAMINATION */ 00978000 * 0066 00979000 ST GPR15P,DWCOLCOD 0066 00980000 * /*****************************************************************/ 00981000 * /* */ 00982000 * /* RETURN TO CALLER DWEPILOG: IRBBREAK MACDATE Y-2 73018 */ 00983000 * /* */ 00984000 * /*****************************************************************/ 00985000 * 0067 00986000 *DWEPILOG: 0067 00987000 * 0067 00988000 * /*****************************************************************/ 00989000 * /* */ 00990000 * /* INDICATE NEXT ROUTINE ADDRESS TO SVC MAINLINE FOR REENTRY */ 00991000 * /* */ 00992000 * /*****************************************************************/ 00993000 * 0067 00994000 * STSMENTR=ADDR(DWRT0010); 0067 00995000 DWEPILOG L @10,@PC00001 0067 00996000 L @10,SMAPTR(,@10) 0067 00997000 LA @09,DWRT0010 0067 00998000 ST @09,STSMENTR(,@10) 0067 00999000 * RESPECIFY 0068 01000000 * (GPR00P, 0068 01001000 * GPR01P, 0068 01002000 * GPR14P, 0068 01003000 * GPR15P) RESTRICTED; 0068 01004000 * GENERATE; 0069 01005000 STM @02,@12,28(@13) SAVE REGISTERS FOR NEXT SEGMENT 01006000 L @13,4(,@13) BACK CHAIN TO CALLERS SAVEAREA 01007000 LM @14,@12,12(@13) RESTORE CALLERS REGISTERS 01008000 BR @14 RETURN TO CALLER 01009000 * 0070 01010000 * /*****************************************************************/ 01011000 * /* */ 01012000 * /* REENTRY POINT FROM CALLER, IGX00014. */ 01013000 * /* */ 01014000 * /*****************************************************************/ 01015000 * 0070 01016000 *DWRT0010: 0070 01017000 * GENERATE; 0070 01018000 DWRT0010 DS 0H 0070 01019000 STM @14,@12,12(@13) SAVE CALLERS REGISTERS 01020000 L @01,0(,@01) GET ADDRESS OF SAVE AREA ADDRESS 01021000 L @01,0(,@01) GET SAVE AREA ADDRESS 01022000 LM @02,@12,28(@01) RELOAD REGISTERS 01023000 ST @13,4(,@01) BACK CHAIN NEW SAVEAREA TO OLD 01024000 ST @01,8(,@13) FORWARD CHAIN FROM OLD TO NEW 01025000 LR @13,@01 R13 NOW POINTS TO NEW SAVEAREA 01026000 * RESPECIFY 0071 01027000 * (GPR00P, 0071 01028000 * GPR01P, 0071 01029000 * GPR14P, 0071 01030000 * GPR15P) UNRESTRICTED; 0071 01031000 * 0071 01032000 * /*****************************************************************/ 01033000 * /* */ 01034000 * /* MACDATE Y-2 73018 */ 01035000 * /* */ 01036000 * /*****************************************************************/ 01037000 * 0072 01038000 * RESPECIFY 0072 01039000 * (GPR00P, 0072 01040000 * GPR01P, 0072 01041000 * GPR14P, 0072 01042000 * GPR15P) RESTRICTED; 0072 01043000 * 0072 01044000 * /*****************************************************************/ 01045000 * /* */ 01046000 * /* BEGIN EPILOG PROCESSING. IRBMFDWP IS REENTERED AT DWEPILOG */ 01047000 * /* ENABLED PAGE FREE CODE, STATIC DATA, AND AUTOMATIC DATA. */ 01048000 * /* REMOVE AUTOMATIC DATA DESCRIPTION FROM STORAGE RESOURCE TABLE */ 01049000 * /* */ 01050000 * /*****************************************************************/ 01051000 * 0073 01052000 * STRVNSGT=STRVNSGT-1; /* POINT TO LAST TABLE ENTRY */ 01053000 L @10,@PC00001 0073 01054000 L @10,SMAPTR(,@10) 0073 01055000 L @10,STSMRVT(,@10) 0073 01056000 L @09,STRVNSGT(,@10) 0073 01057000 BCTR @09,0 0073 01058000 ST @09,STRVNSGT(,@10) 0073 01059000 * GPR01P=STSGADD(STRVNSGT); /* AREA ADDRESS */ 01060000 SLA @09,3 0074 01061000 L @10,STRVSSGT(,@10) 0074 01062000 LA @08,0(@09,@10) 0074 01063000 AL @08,@CF01194 0074 01064000 L GPR01P,STSGADD-4(,@08) 0074 01065000 * GPR15P=STSGLEN(STRVNSGT)+GPR01P;/* AREA END ADDRESS + 1 */ 01066000 AL @10,@CF01222 0075 01067000 L GPR15P,STSGLEN-1(@09,@10) 0075 01068000 LA GPR15P,0(,GPR15P) 0075 01069000 ALR GPR15P,GPR01P 0075 01070000 * GEN; 0076 01071000 * 0076 01072000 PGFREE R,A=(GPR01P),EA=(GPR15P) PAGE FREE AUTOMATIC DATA 01073000 * /*****************************************************************/ 01074000 * /* */ 01075000 * /* PAGE FREE CODE AND STATIC DATA */ 01076000 * /* */ 01077000 * /*****************************************************************/ 01078000 * 0077 01079000 * GEN; 0077 01080000 * 0077 01081000 LA @01,@PSTART 01082000 LA @15,@ENDDATA 01083000 PGFREE R,A=(GPR01P),EA=(GPR15P) 01084000 * /*****************************************************************/ 01085000 * /* */ 01086000 * /* PAGE FREE LOCAL WAMT, LEAVING IT IN STORAGE RESOURCE TABLE */ 01087000 * /* UNTIL FREEMAIN IS DONE. */ 01088000 * /* */ 01089000 * /*****************************************************************/ 01090000 * 0078 01091000 * GPR01P=STSGADD(STRVNSGT-1); /* AREA ADDRESS */ 01092000 L @10,@PC00001 0078 01093000 L @10,SMAPTR(,@10) 0078 01094000 L @10,STSMRVT(,@10) 0078 01095000 L @09,STRVNSGT(,@10) 0078 01096000 SLA @09,3 0078 01097000 L @10,STRVSSGT(,@10) 0078 01098000 LA @08,0(@09,@10) 0078 01099000 AL @08,@CF01224 0078 01100000 L GPR01P,STSGADD-4(,@08) 0078 01101000 * GPR15P=STSGLEN(STRVNSGT-1)+GPR01P;/* AREA END ADDRESS + 1 */ 01102000 AL @10,@CF01225 0079 01103000 L GPR15P,STSGLEN-1(@09,@10) 0079 01104000 LA GPR15P,0(,GPR15P) 0079 01105000 ALR GPR15P,GPR01P 0079 01106000 * GEN; 0080 01107000 * 0080 01108000 PGFREE R,A=(GPR01P),EA=(GPR15P) PAGE FREE LOCAL WAMT 01109000 * /*****************************************************************/ 01110000 * /* */ 01111000 * /* MACDATE Y-2 73018 */ 01112000 * /* */ 01113000 * /*****************************************************************/ 01114000 * 0081 01115000 * RESPECIFY 0081 01116000 * (GPR00P, 0081 01117000 * GPR01P, 0081 01118000 * GPR14P, 0081 01119000 * GPR15P) RESTRICTED; 0081 01120000 * 0081 01121000 * /*****************************************************************/ 01122000 * /* */ 01123000 * /* TEST RETURN CODE FROM SYSEVENT */ 01124000 * /* */ 01125000 * /*****************************************************************/ 01126000 * 0082 01127000 * IF(DWCOLCOD^=CSRCNORM) /* IF SYSEVENT RC NOT NORMAL */ 01128000 * &(DWCOLCOD^=CIPSCHNG) THEN /* AND ALSO NOT FOR IPS CHANGE */ 01129000 * 0082 01130000 L @10,DWCOLCOD 0082 01131000 LTR @10,@10 0082 01132000 BZ @RF00082 0082 01133000 C @10,@CF00070 0082 01134000 BE @RF00082 0082 01135000 * /***************************************************************/ 01136000 * /* */ 01137000 * /* ABEND MF/1, BAD SYSEVENT RETURN: NOT 0-NORMAL, NOT 4-IPS */ 01138000 * /* CHANGE. */ 01139000 * /* */ 01140000 * /***************************************************************/ 01141000 * 0083 01142000 * DO; 0083 01143000 * 0083 01144000 * /*************************************************************/ 01145000 * /* */ 01146000 * /* MACDATE Y-2 73018 */ 01147000 * /* */ 01148000 * /*************************************************************/ 01149000 * 0084 01150000 * RESPECIFY 0084 01151000 * (GPR00P, 0084 01152000 * GPR01P, 0084 01153000 * GPR14P, 0084 01154000 * GPR15P) RESTRICTED; 0084 01155000 * GPR15F=DWCOLCOD*'100'X; /* REASON CODE, IN BYTE 2. */ 01156000 SLA @10,8 0085 01157000 LR GPR15F,@10 0085 01158000 * GEN(ABEND X'26D',DUMP,,SYSTEM);/* ABEND. */ 01159000 * 0086 01160000 ABEND X'26D',DUMP,,SYSTEM 01161000 * /*************************************************************/ 01162000 * /* */ 01163000 * /* MACDATE Y-2 73018 */ 01164000 * /* */ 01165000 * /*************************************************************/ 01166000 * 0087 01167000 * RESPECIFY 0087 01168000 * (GPR00P, 0087 01169000 * GPR01P, 0087 01170000 * GPR14P, 0087 01171000 * GPR15P) UNRESTRICTED; 0087 01172000 * END; 0088 01173000 * 0088 01174000 * /*****************************************************************/ 01175000 * /* */ 01176000 * /* CREATE TIME STAMPS FOR NEXT INTERVAL */ 01177000 * /* */ 01178000 * /*****************************************************************/ 01179000 * 0089 01180000 * DWTOCEOD=WAMTTOC; /* END OF INTERVAL LENGTH IS TIME 01181000 * IN WAMT */ 01182000 @RF00082 L @10,WAMTPTR 0089 01183000 MVC DWTOCEOD(8),WAMTTOC(@10) 0089 01184000 * IF DWWINIPS=CSET THEN /* IF NEW IPS AT BEGINNING OF 0090 01185000 * THIS LAST DATA INTERVAL. */ 01186000 L @15,@PC00001 0090 01187000 L @01,SMAPTR(,@15) 0090 01188000 L @01,STSMLCOM(,@01) 0090 01189000 TM DWWINIPS(@01),B'10000000' 0090 01190000 BNO @RF00090 0090 01191000 * DWTOCSOD=WAMTTMA; /* START OF INTERVAL LENGTH IS 0091 01192000 * TIME OF MEASUREMENT ACTIVATION*/ 01193000 MVC DWTOCSOD(8),WAMTTMA(@10) 0091 01194000 * ELSE 0092 01195000 * DWTOCSOD=DWWITOC; /* START OF INTERVAL LENGTH IS 0092 01196000 * TIME OF LAST WKLDCOLL SYSEVENT*/ 01197000 * 0092 01198000 B @RC00090 0092 01199000 @RF00090 L @10,@PC00001 0092 01200000 L @10,SMAPTR(,@10) 0092 01201000 L @10,STSMLCOM(,@10) 0092 01202000 MVC DWTOCSOD(8),DWWITOC(@10) 0092 01203000 * /*****************************************************************/ 01204000 * /* */ 01205000 * /* IF THIS IS THE INITIALIZING CALL, DO NOT CREATE ANY SMF */ 01206000 * /* RECORDS. */ 01207000 * /* */ 01208000 * /*****************************************************************/ 01209000 * 0093 01210000 * IF DWINITCF^=CINITCF THEN /* IF NOT INITIAL CALL */ 01211000 @RC00090 L @10,@PC00001+8 0093 01212000 TM DWINITCF(@10),B'10000000' 0093 01213000 BO @RF00093 0093 01214000 * DO; /* DO LOOP TO CREATE SMF RECORDS */ 01215000 * 0094 01216000 * /*************************************************************/ 01217000 * /* */ 01218000 * /* DETERMINE WHETHER TO USE SRM OR MF/1 INTERVAL LENGTH. */ 01219000 * /* */ 01220000 * /*************************************************************/ 01221000 * 0095 01222000 * IF DWCOLCOD^=CIPSCHNG /* IF THIS IPS DID NOT END DURING 01223000 * THE LAST INTERVAL */ 01224000 * &DWWINIPS^=CSET /* AND THIS IPS DID NOT START 0095 01225000 * DURING THE LAST INTERVAL */ 01226000 * THEN 0095 01227000 CLC DWCOLCOD(4),@CF00070 0095 01228000 BE @RF00095 0095 01229000 L @10,@PC00001 0095 01230000 L @10,SMAPTR(,@10) 0095 01231000 L @10,STSMLCOM(,@10) 0095 01232000 TM DWWINIPS(@10),B'10000000' 0095 01233000 BO @RF00095 0095 01234000 * DO; 0096 01235000 * DWINTLEN=DWMFINTL; /* USE X14 INTERVAL TIME. */ 01236000 L @10,@PC00001+32 0097 01237000 MVC DWINTLEN(4),DWMFINTL(@10) 0097 01238000 * END; 0098 01239000 * ELSE 0099 01240000 * 0099 01241000 * /***********************************************************/ 01242000 * /* */ 01243000 * /* MUST USE WAMT TIMES BECAUSE IPS HAS CHANGED NEAR */ 01244000 * /* BEGINNING OR NEAR END OF INTERVAL, OR BOTH. */ 01245000 * /* */ 01246000 * /***********************************************************/ 01247000 * 0099 01248000 * DO; 0099 01249000 * 0099 01250000 B @RC00095 0099 01251000 @RF00095 DS 0H 0100 01252000 * /*********************************************************/ 01253000 * /* */ 01254000 * /* CALCULATE LENGTH OF INTERVAL USING TOC (TIME OF */ 01255000 * /* CENTURY) CLOCKS. MACDATE Y-2 73018 */ 01256000 * /* */ 01257000 * /*********************************************************/ 01258000 * 0100 01259000 * RESPECIFY 0100 01260000 * (GPR00P, 0100 01261000 * GPR01P, 0100 01262000 * GPR14P, 0100 01263000 * GPR15P) RESTRICTED; 0100 01264000 * GEN; 0101 01265000 LM GPR00P,GPR01P,DWTOCEOD GET END OF INTERVAL FOR DATA 01266000 SL GPR01P,DWTOCSOD+4 SUBTRACT LOW ORDER WORD OF START 01267000 * TIME FROM LOW ORDER WORD OF END 01268000 BC 3,DW0400 BRANCH IF NO BORROW REQUIRED 01269000 SL GPR00P,DWONE CORRECT FOR BORROW 01270000 DW0400 SL GPR00P,DWTOCSOD SUBTRACT HIGH ORDER WORD OF 01271000 * TIMES, START FROM INTERVAL END 01272000 SRDL GPR00P,12 SHIFT TO GET MICROSECONDS 01273000 D GPR00P,DWONETHD GET THOUSANDTHS OF SECONDS 01274000 ST GPR01P,DWBINWRK SAVE DURATION OF INTERVAL 01275000 * GEN DATA; 0102 01276000 * 0102 01277000 * /*********************************************************/ 01278000 * /* */ 01279000 * /* MACDATE Y-2 73018 */ 01280000 * /* */ 01281000 * /*********************************************************/ 01282000 * 0103 01283000 * RESPECIFY 0103 01284000 * (GPR00P, 0103 01285000 * GPR01P, 0103 01286000 * GPR14P, 0103 01287000 * GPR15P) UNRESTRICTED; 0103 01288000 * 0103 01289000 * /*********************************************************/ 01290000 * /* */ 01291000 * /* INTERVAL LENGTH IS TO BE IN FORM MMSSTTT, MIN SEC */ 01292000 * /* THOUSANDTHS */ 01293000 * /* */ 01294000 * /*********************************************************/ 01295000 * 0104 01296000 * DWBINWRK=DWBINWRK/CKSEC*100000/* MINUTES MM00000 */ 01297000 * +DWBINWRK//CKSEC; /* + THOUSANDTHS SECONDS 00TTTTT */ 01298000 * 0104 01299000 L @10,DWBINWRK 0104 01300000 L @15,@CF01189 0104 01301000 LR @00,@10 0104 01302000 SRDA @00,32 0104 01303000 DR @00,@15 0104 01304000 M @00,@CF01204 0104 01305000 LR @02,@10 0104 01306000 SRDA @02,32 0104 01307000 DR @02,@15 0104 01308000 ALR @01,@02 0104 01309000 ST @01,DWBINWRK 0104 01310000 * /*********************************************************/ 01311000 * /* */ 01312000 * /* CONVERT BINARY MMTTTTT TO PACKED MMSSTTTF FOR SMF */ 01313000 * /* RECORD */ 01314000 * /* */ 01315000 * /*********************************************************/ 01316000 * 0105 01317000 * CVD(DWBINWRK,DWINTLEN); 0105 01318000 CVD @01,@TS00001 0105 01319000 MVC DWINTLEN(4),@TS00001+4 0105 01320000 * DWINTLEN(LENGTH(DWINTLEN))=DWINTLEN(LENGTH(DWINTLEN))|'0F'X 01321000 * ; 0106 01322000 OI DWINTLEN+3,X'0F' 0106 01323000 * END; /* END OF USING WAMT TIME STAMPS 01324000 * FOR INTERVAL LENGTH. */ 01325000 * 0107 01326000 * /*************************************************************/ 01327000 * /* */ 01328000 * /* SET SMF DATA COMMON TO ALL WORKLOAD SMF RECORDS */ 01329000 * /* */ 01330000 * /*************************************************************/ 01331000 * 0108 01332000 * DWSHWORK=DWSMFHDR; /* COPY INPUT SMF HEADER */ 01333000 @RC00095 MVI DWSHWORK+48,C' ' 0108 01334000 MVC DWSHWORK+49(15),DWSHWORK+48 0108 01335000 L @10,@PC00001+16 0108 01336000 MVC DWSHWORK(48),DWSMFHDR(@10) 0108 01337000 * RFY 0109 01338000 * SMFRCD72 BASED(ADDR(DWSHWORK));/* PREPARE TO SET DATA IN 0109 01339000 * COPIED AREA */ 01340000 * SMF72A=SMF72A&&SMF72A; /* CLEAR WORKLD CONTROL AREA */ 01341000 LA @10,DWSHWORK 0110 01342000 LA @03,SMF72SIZ(,@10) 0110 01343000 AH @03,SMF72SIZ(,@10) 0110 01344000 XC SMF72A(16,@03),SMF72A(@03) 0110 01345000 * SMF72RTY=72; /* WORKLOAD ACTIVITY IS RECORD 72*/ 01346000 MVI SMF72RTY(@10),X'48' 0111 01347000 * SMF72IST=DWINTSRT; /* PACKED INTERVAL START 0HHMMSSF*/ 01348000 ST @03,@TF00001 0112 01349000 L @03,@PC00001+24 0112 01350000 MVC SMF72IST(4,@10),DWINTSRT(@03) 0112 01351000 * SMF72DAT=DWDATSOI; /* PACKED INTERVAL START DATE, 0113 01352000 * FORM 00YYDDDF */ 01353000 L @03,@PC00001+28 0113 01354000 L @03,DWDATSOI(,@03) 0113 01355000 ST @03,SMF72DAT(,@10) 0113 01356000 * SMF72INT=DWINTLEN; /* PACKED INTERVAL SIZE MMSSTTTF */ 01357000 MVC SMF72INT(4,@10),DWINTLEN 0114 01358000 * SMF72CYC='000F'X; /* CYCLE TIME NOT APPLICABLE. */ 01359000 MVC SMF72CYC(2,@10),@CB01210 0115 01360000 * SMF72SAM=0; /* CLEAR UNUSED FIELD */ 01361000 SLR @03,@03 0116 01362000 ST @03,SMF72SAM(,@10) 0116 01363000 * SMF72SWC=LENGTH(SMF72A); /* SIZE OF WORKLOAD CONTROL DATA */ 01364000 L @10,@TF00001 0117 01365000 MVC SMF72SWC(2,@10),@CH00790 0117 01366000 * SMF72SPD=LENGTH(SMF72B); /* SIZE OF EACH PGP DATA */ 01367000 L @10,@TF00001 0118 01368000 MVC SMF72SPD(2,@10),@CH01218 0118 01369000 * SMF72HPG=WAMTHPG; /* HIGHEST PGN IN IPS */ 01370000 L @10,WAMTPTR 0119 01371000 LH @03,WAMTHPG(,@10) 0119 01372000 L @01,@TF00001 0119 01373000 STH @03,SMF72HPG(,@01) 0119 01374000 * SMF72IPS(1:6)='IEAIPS'; /* IPS MEMBER BODY NAME */ 01375000 L @03,@TF00001 0120 01376000 MVC SMF72IPS(6,@03),@CC01211 0120 01377000 * SMF72IPS(7:8)=WAMTIPS; /* IPS MEMBER IDENTIFYING SUFFIX */ 01378000 * 0121 01379000 L @03,@TF00001 0121 01380000 MVC SMF72IPS+6(2,@03),WAMTIPS(@10) 0121 01381000 * /*************************************************************/ 01382000 * /* */ 01383000 * /* CALCULATE SIZE OF SMF RECORDS FOR THIS IPS. STSMILEN = */ 01384000 * /* LENGTH WAMT +HPG*LENGTH(WAMTNDX)+PGP*LENGTH(WAMP). SMF */ 01385000 * /* AREA MUST BE 4 +(HPG+1)*LENGTH(WAMTNDX)+PGP*LENGTH(WAMP) */ 01386000 * /* +( (LENGTH(SMFRCD72)+LENGTH(SMF72A))*(NUMBER OF PGN'S) */ 01387000 * /* FIND NUMBER OF PGN'S */ 01388000 * /* */ 01389000 * /*************************************************************/ 01390000 * 0122 01391000 * DWPGNCNT=0; /* ZERO PGN COUNT */ 01392000 SLR DWPGNCNT,DWPGNCNT 0122 01393000 * DO W=1 BY 1 TO WAMTHPG; /* SEARCH WAMT INDECES */ 01394000 LA W,1 0123 01395000 B @DE00123 0123 01396000 @DL00123 DS 0H 0124 01397000 * IF WAMTNDX(W)^=WAMTNDX(W+1) THEN/* IF ANY PGP'S EXIST FOR 01398000 * PGN */ 01399000 L @10,WAMTPTR 0124 01400000 LR @15,W 0124 01401000 SLA @15,2 0124 01402000 L @14,WAMTNDX-4(@15,@10) 0124 01403000 C @14,WAMTNDX(@15,@10) 0124 01404000 BE @RF00124 0124 01405000 * DWPGNCNT=DWPGNCNT+1; /* INCREMENT VALID PGN COUNT */ 01406000 AL DWPGNCNT,@CF00078 0125 01407000 * END; 0126 01408000 @RF00124 AL W,@CF00078 0126 01409000 @DE00123 L @10,WAMTPTR 0126 01410000 CH W,WAMTHPG(,@10) 0126 01411000 BNH @DL00123 0126 01412000 * DWSMFLEN=DWWIWAML-LENGTH(WAMT)+/* HPG*LENGTH(WAMTNDX)+ 0127 01413000 * PGP*LENGTH(WAMP), PLUS */ 01414000 * LENGTH(DWSPLEN)+ /* SUBPOOL & LENGTH PREFIX, PLUS */ 01415000 * LENGTH(STWVNPG)+ /* SIZE OF PGN COUNT AT BEGINNING 01416000 * OF WORKLOAD VECTOR TABLE. */ 01417000 * (LENGTH(SMFRCD72)+LENGTH(SMF72A))*DWPGNCNT;/* SMF HEADERS 01418000 * FOR EACH PGN IN IPS */ 01419000 L @10,@PC00001 0127 01420000 L @10,SMAPTR(,@10) 0127 01421000 L @07,STSMLCOM(,@10) 0127 01422000 L @03,@CF01220 0127 01423000 AL @03,DWWIWAML(,@07) 0127 01424000 LR @07,DWPGNCNT 0127 01425000 SLA @07,6 0127 01426000 ALR @03,@07 0127 01427000 STCM @03,7,DWSMFLEN 0127 01428000 * DWSMFSP=STSMSSP; /* SUBPOOL NUMBER FOR SMF DATA */ 01429000 * 0128 01430000 IC @07,STSMSSP(,@10) 0128 01431000 STC @07,DWSMFSP 0128 01432000 * /*************************************************************/ 01433000 * /* */ 01434000 * /* GET MAIN STORAGE FOR SMF DATA MACDATE Y-2 73018 */ 01435000 * /* */ 01436000 * /*************************************************************/ 01437000 * 0129 01438000 * RESPECIFY 0129 01439000 * (GPR00P, 0129 01440000 * GPR01P, 0129 01441000 * GPR14P, 0129 01442000 * GPR15P) RESTRICTED; 0129 01443000 * GPR00P=DWSMFSRG; /* SP & LENGTH */ 01444000 L GPR00P,DWSMFSRG 0130 01445000 * GEN(GETMAIN R,LV=(0)); 0131 01446000 GETMAIN R,LV=(0) 01447000 * DWSMFADD=GPR01P; /* SAVE ADDRESS OF SMF RECORDS */ 01448000 LR DWSMFADD,GPR01P 0132 01449000 * SMF72S=GPR01P-CSPLENPR; /* STORE SMF RECORDS ADDRESS */ 01450000 L @10,@PC00001+4 0133 01451000 LR @07,GPR01P 0133 01452000 SL @07,@CF01194 0133 01453000 ST @07,SMF72S(,@10) 0133 01454000 * SMF72PTR=SMF72S+ /* FIRST SMF RECORD IS AT SMF 0134 01455000 * DATA AREA */ 01456000 * WAMTHPG*LENGTH(STWVPGNX);/* PAST SPACE RESERVED FOR 0134 01457000 * INDEXES TO SMF RECORDS */ 01458000 * 0134 01459000 L @10,WAMTPTR 0134 01460000 LH SMF72PTR,WAMTHPG(,@10) 0134 01461000 SLA SMF72PTR,2 0134 01462000 ALR @07,SMF72PTR 0134 01463000 LR SMF72PTR,@07 0134 01464000 * /*************************************************************/ 01465000 * /* */ 01466000 * /* CHANGE TO TCB (PROBLEM STATE) KEY PRIOR TO STORING INTO */ 01467000 * /* SMF RECORDS AREA GETMAINED IN THIS KEY. */ 01468000 * /* */ 01469000 * /*************************************************************/ 01470000 * 0135 01471000 * RFY 0135 01472000 * (GPR02P, 0135 01473000 * GPR03P, 0135 01474000 * GPR04P) RSTD; 0135 01475000 * GPR04P=DWTCBADD; /* TCB ADDRESS TO REGISTER */ 01476000 L @10,@PC00001+20 0136 01477000 L GPR04P,DWTCBADD(,@10) 0136 01478000 * GEN SETS(DWSAVKEY); 0137 01479000 USING TCB,GPR04P 01480000 MODESET EXTKEY=TCB,SAVEKEY=DWSAVKEY,WORKREG=3 01481000 DROP GPR04P 01482000 * RFY 0138 01483000 * (GPR02P, 0138 01484000 * GPR03P, 0138 01485000 * GPR04P) UNRSTD; 0138 01486000 * DWSMFADD->DWSPLEN=DWSMFSRG; /* STORE SP & LENGTH FOR FREEING */ 01487000 * 0139 01488000 MVC DWSPLEN(4,DWSMFADD),DWSMFSRG 0139 01489000 * /*************************************************************/ 01490000 * /* */ 01491000 * /* ZERO THE SMF RECORD WITH MVCL */ 01492000 * /* */ 01493000 * /*************************************************************/ 01494000 * 0140 01495000 * GPR00P=SMF72S; /* ADDRESS OF SMF DATA */ 01496000 L @10,@PC00001+4 0140 01497000 L GPR00P,SMF72S(,@10) 0140 01498000 * GPR01P=DWSMFLEN+CSPLENPR; /* LENGTH OF SMF DATA */ 01499000 L GPR01P,DWSMFLEN-1 0141 01500000 LA GPR01P,0(,GPR01P) 0141 01501000 AL GPR01P,@CF01194 0141 01502000 * GPR15P=0; /* PAD CHAR=0, SECOND COUNT=0 */ 01503000 SLR GPR15P,GPR15P 0142 01504000 * GEN(MVCL GPR00P,GPR14P); /* ZERO WITH PAD CHAR */ 01505000 * 0143 01506000 MVCL GPR00P,GPR14P 01507000 * /*************************************************************/ 01508000 * /* */ 01509000 * /* MACDATE Y-2 73018 */ 01510000 * /* */ 01511000 * /*************************************************************/ 01512000 * 0144 01513000 * RESPECIFY 0144 01514000 * (GPR00P, 0144 01515000 * GPR01P, 0144 01516000 * GPR14P, 0144 01517000 * GPR15P) UNRESTRICTED; 0144 01518000 * 0144 01519000 * /*************************************************************/ 01520000 * /* */ 01521000 * /* MOVE SMF HEADER, WORKLOAD CONTROL DATA, PG INDEX, PGP DATA*/ 01522000 * /* AND TRACE EACH SMF RECORD */ 01523000 * /* */ 01524000 * /*************************************************************/ 01525000 * 0145 01526000 * RFY 0145 01527000 * (I, 0145 01528000 * J, 0145 01529000 * SMF72PTR, 0145 01530000 * WAMPPTR) RSTD; /* CONTROL VARIABLES ARE 0145 01531000 * REGISTERS */ 01532000 * STWVNPG=WAMTHPG; /* SET NUMBER OF SMF RECORDS INTO 01533000 * OUTPUT SMF VECTOR TABLE. */ 01534000 L @10,@PC00001+4 0146 01535000 L @10,SMF72S(,@10) 0146 01536000 L @09,WAMTPTR 0146 01537000 LH @09,WAMTHPG(,@09) 0146 01538000 ST @09,STWVNPG(,@10) 0146 01539000 * DO I=1 BY 1 TO WAMTHPG; /* FOR ALL PG NUMBERS IN WAMT */ 01540000 LA I,1 0147 01541000 B @DE00147 0147 01542000 @DL00147 DS 0H 0148 01543000 * STWVPGNX(I)=SMF72PTR; /* SMF PG INDEX IS CURRENT 0148 01544000 * SMF72PTR */ 01545000 LR @10,I 0148 01546000 SLA @10,2 0148 01547000 L @09,@PC00001+4 0148 01548000 L @09,SMF72S(,@09) 0148 01549000 ST SMF72PTR,STWVPGNX-4(@10,@09) 0148 01550000 * RFY 0149 01551000 * SMFRCD72 BASED(SMF72PTR);/* SMF TABLE IS IN OUTPUT AREA */ 01552000 * J=1; /* SMF PGP NUMBER */ 01553000 LA J,1 0150 01554000 * IF WAMTNDX(I)DWSHWKB=DWSHWORK;/* MOVE TEMP SMF HDR TO 0153 01561000 * RECORD AREA FOR THIS PG. 0153 01562000 * NEEDED FOR POINTERS TO DATA IN 01563000 * SMF72A&B. */ 01564000 * 0153 01565000 MVC DWSHWKB(64,SMF72PTR),DWSHWORK 0153 01566000 * /*******************************************************/ 01567000 * /* */ 01568000 * /* MOVE PGP DATA FROM WAMT TO SMFRCD72 */ 01569000 * /* */ 01570000 * /*******************************************************/ 01571000 * 0154 01572000 * DO WAMPPTR=WAMTNDX(I) /* FIRST PGP DATA FOR PG IS AT PG 01573000 * INDEX, */ 01574000 * +ADDR(WAMT) /* RELATIVE DISPLACEMENT FROM 0154 01575000 * WAMT */ 01576000 * BY WAMTSPD /* INCREMENTED BY SIZE OF PGP 0154 01577000 * DATA */ 01578000 * WHILE(WAMPPTR