1 /* BEGIN INCLUDE FILE ... absentee_user_table.incl.pl1 */ 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 /* */ 5 /* The absentee user table is the control data base for the absentee */ 6 /* facility. It has a header, with scheduling parameters, then one user */ 7 /* table entry for each logged-in absentee job. */ 8 /* */ 9 /* Programs which use this table must also include */ 10 /* user_table_header.incl.pl1 and user_table_entry.incl.pl1. */ 11 /* */ 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 14 15 /****^ HISTORY COMMENTS: 16 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 17 Replace abs_user_tab.incl.pl1. 18 2) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 19 audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 20 Use ut_header common to all user control tables. 21 END HISTORY COMMENTS */ 22 23 24 dcl AUTBL_version_4 fixed bin int static options (constant) init (4); 25 26 dcl autp ptr automatic init (null); 27 28 dcl 1 autbl based (autp) aligned, /* a per system table to store info on absentee processes */ 29 2 header like ut_header, /* Header common to all user tables. */ 30 31 /* Counter elements */ 32 2 n_abs_run fixed bin, /* actual number of absentee processes current */ 33 2 max_abs_users fixed bin, /* max number of background absentee processes permitted */ 34 2 n_background_abs fixed bin, /* number of absentee processes not from foreground queue */ 35 2 n_sec_fg fixed bin, /* number of secondary foreground absentee jobs */ 36 2 idle_units fixed bin, /* used in adjusting abs_maxu dynamically */ 37 2 abs_units fixed bin, /* part of anstbl.n_units used by background absentees */ 38 2 n_abs (4) fixed bin, /* number of processes from each background queue */ 39 2 qres (4) fixed bin, /* number of slots reserved for each background queue */ 40 2 rsc_waiting (-1:4) fixed bin, /* number of requests waiting for resources, from each queue */ 41 2 qerr (-1:4) fixed bin, /* number of consecutive errors for q (dropped if > QERR_MAX) */ 42 2 cpu_limit (4) fixed bin (35), /* current per-queue cpu time limits */ 43 44 /* absentee user manager values. */ 45 2 defer_channel fixed bin (71), /* IPC for time-defered queue entries */ 46 2 absentee_rq_chn fixed bin (71), /* IPC channel for absentee requests */ 47 2 last_queue_searched fixed bin, /* highest queue looked at by scheduler */ 48 2 debugging fixed bin, /* take asdumps at strategic places */ 49 2 control, /* see also whotab.incl.pl1 */ 50 3 mnbz bit (1) unal, /* must not be zero */ 51 3 abs_maxu_auto bit (1) unal, /* 1 if abs maxu has not been set by operator command */ 52 3 abs_maxq_auto bit (1) unal, /* 1 if abs maxq has not been set by operator command */ 53 3 abs_qres_auto bit (1) unal, /* 1 if abs qres has not been set by operator command */ 54 3 abs_cpu_limit_auto bit (1) unal, /* 1 if abs cpu_limit has not been set by operator command */ 55 3 queue_dropped (-1:4) bit (1) unal, /* 1 if queue has been dropped because of errors */ 56 3 abs_up bit (1) unal, /* 1 if absentee facility is running */ 57 3 abs_stopped bit (1) unal, /* 1 if abs stop command was issued */ 58 /* both 1 if we're waiting for the last jobs to log out */ 59 3 aum_ctl bit (1) unal, /* for AUM to tell AU to start a new sequence */ 60 3 lc_list bit (1) unal, /* for AU to tell AUM that the lc list is non-empty */ 61 /* comments in AU and AUM explain aum_ctl and lc_list */ 62 3 control_pad (21) bit (1) unal, /* fill out rest of word */ 63 2 aum_pad fixed bin, 64 65 2 entry_pad (80) fixed bin, /* pad table header to 128 words */ 66 2 entry (0 refer (autbl.current_size)) like ute; 67 68 dcl AUTBL_CONTROL_NAMES (15) char(20) varying int static options(constant) init( 69 "mnbz", 70 "abs_maxu_auto", 71 "abs_maxq_auto", 72 "abs_qres_auto", 73 "abs_cpu_limit_auto", 74 "queue_dropped(-1)", 75 "queue_dropped( 0)", 76 "queue_dropped( 1)", 77 "queue_dropped( 2)", 78 "queue_dropped( 3)", 79 "queue_dropped( 4)", 80 "abs_up", 81 "abs_stopped", 82 "aum_ctl", 83 "lc_list"); 84 85 /* END INCLUDE FILE ... absentee_user_table.incl.pl1 */