COMPILATION LISTING OF SEGMENT total_time_meters Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/22/85 1519.5 mst Tue Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* Updated by Alan Bier - March 1974 */ 12 /* Modified May 1980 by T. Casey to split Other into Virtual CPU Time and Other Overhead, 13* - and to print a third column, %NI (percent of non-Idle) */ 14 /* Modified April 1981 by J. Bongiovanni to print Other Fault and fix some errors */ 15 /* Modified November 1984 by M. Pandolf to include hc_lock. */ 16 17 18 ttm: total_time_meters: proc; 19 20 dcl (argp, sstp1, sstp2, tcdp1, tcdp2) ptr static; 21 dcl com_err_ entry options (variable); 22 dcl (sum, ni_sum, ave_time, count, pc, ni_pc, time, meter_time, ni_meter_time, idle, fault_int_time) float bin; 23 dcl metering_time fixed bin (71); 24 dcl formatted_time char (10); 25 dcl current_ptrs (2) ptr; 26 dcl previous_ptrs (2) ptr; 27 dcl cu_$arg_count entry returns (fixed bin); 28 dcl (argl, i) fixed bin; 29 dcl code fixed bin (35); 30 dcl (rsw, repsw) bit (1) init ("0"b); 31 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 32 dcl ioa_ entry options (variable); 33 dcl arg char (argl) based (argp); 34 dcl metering_util_$define_regions entry options(variable); 35 dcl metering_util_$fill_buffers entry (fixed bin, fixed bin(71), char(*), (*) ptr, (*) ptr, fixed bin(35)); 36 dcl metering_util_$reset entry (fixed bin, fixed bin(35)); 37 dcl unique fixed bin static init (0); 38 dcl prt_sw bit (1) aligned init ("1"b); 39 dcl error_table_$badopt ext fixed bin (35); 40 dcl MYNAME char (17) init ("total_time_meters") int static options (constant); 41 dcl size builtin; 42 43 44 /* */ 45 46 /* If we haven't yet allocated the static buffers, do so. */ 47 48 if unique = 0 then do; 49 call metering_util_$define_regions (unique, code, 50 "tc_data", 0, "work_class_table", 51 "sst", 0, size (sst)); 52 if code ^= 0 then do; 53 call com_err_ (code, MYNAME, "Defining metering regions."); 54 return; 55 end; 56 end; 57 58 /* Process arguments */ 59 60 do i = 1 to cu_$arg_count (); 61 call cu_$arg_ptr (i, argp, argl, code); 62 if code ^= 0 then go to endargs; 63 if arg = "-reset" | arg = "-rs" then rsw = "1"b; 64 else if arg = "-report_reset" | arg = "-rr" then rsw, repsw = "1"b; 65 else do; 66 call com_err_ (error_table_$badopt, "ttm", arg); 67 return; 68 end; 69 end; 70 71 endargs: if ^rsw then repsw = "1"b; 72 73 /* Initialize */ 74 75 call metering_util_$fill_buffers (unique, metering_time, formatted_time, 76 current_ptrs, previous_ptrs, code); 77 if code^=0 then do; 78 call com_err_ (code, MYNAME, "Filling buffers."); 79 return; 80 end; 81 tcdp1 = previous_ptrs (1); 82 sstp1 = previous_ptrs (2); 83 tcdp2 = current_ptrs (1); 84 sstp2 = current_ptrs (2); 85 call ioa_ ("^/Total metering time ^a^/", formatted_time); 86 87 if ^repsw then go to reset_code; 88 89 meter_time = tcdp2 -> tcm.processor_time - tcdp1 -> tcm.processor_time; /* compute total processor time */ 90 91 call ioa_ ("^21t%^27t%NI^36tAVE^/"); /* print heading */ 92 93 /* Compute idle now, for use in computing the values in the %NI column */ 94 95 idle = tcdp2 -> tcm.zero_idle - tcdp1 -> tcm.zero_idle; /* zero idle and NMP idle are true idle, while */ 96 idle = idle + tcdp2 -> tcm.nmp_idle - tcdp1 -> tcm.nmp_idle; /* loading idle and MP idle are really overhead */ 97 ni_meter_time = meter_time - idle; 98 99 meter_time = meter_time/100e0; /* easier than multiplying by 100 in each percent calculation */ 100 ni_meter_time = ni_meter_time/100e0; 101 102 sum, ni_sum = 100e0; /* initialize percents to 100; we'll deduct each that's printed, 103* and at the end, we'll print what's left as Other Overhead */ 104 105 fault_int_time = 0; /* to be deducted from delta_vcpu */ 106 107 /* Now calculate the page fault information */ 108 109 time = tcdp2 -> tcm.cpu_pf_time - tcdp1 -> tcm.cpu_pf_time; 110 count = tcdp2 -> tcm.cpu_pf_count - tcdp1 -> tcm.cpu_pf_count; 111 call prt ("Page Faults"); 112 fault_int_time = fault_int_time + time; 113 114 time = sstp2 -> sst.loop_lock_time - sstp1 -> sst.loop_lock_time; 115 count = sstp2 -> sst.loop_locks - sstp1 -> sst.loop_locks; 116 if count > 0 then call prt_no_sum (" PC Loop Locks"); 117 118 time = sstp2 -> sst.pf_unlock_ptl_time - sstp1 -> sst.pf_unlock_ptl_time; 119 count = sstp2 -> sst.pf_unlock_ptl_meterings - sstp1 -> sst.pf_unlock_ptl_meterings; 120 if count > 0 then do; 121 call prt ("PC Queue"); 122 fault_int_time = fault_int_time + time; 123 end; 124 125 126 /* Now calculate the times for seg faults */ 127 128 time = sstp2 -> sst.cpu_sf_time - sstp1 -> sst.cpu_sf_time; 129 count = sstp2 -> sst.total_sf - sstp1 -> sst.total_sf; 130 call prt ("Seg Faults"); 131 fault_int_time = fault_int_time + time; 132 133 /* Now calculate the time for bound faults */ 134 135 time = sstp2 -> sst.cpu_bf_time - sstp1 -> sst.cpu_bf_time; 136 count = sstp2 -> sst.total_bf - sstp1 -> sst.total_bf; 137 call prt ("Bound Faults"); 138 fault_int_time = fault_int_time + time; 139 140 /* Now calculate the time for interrupts */ 141 142 time = tcdp2 -> tcm.interrupt_time - tcdp1 -> tcm.interrupt_time; 143 count = tcdp2 -> tcm.interrupt_count - tcdp1 -> tcm.interrupt_count; 144 call prt ("Interrupts"); 145 fault_int_time = fault_int_time + time; 146 147 /* At this point, we stop printing the AVE column. Tell the prt subroutine so, by setting count to -1. */ 148 149 count = -1e0; 150 151 /* Next compute unattributed fault overhead time. This is time for handling 152* connect faults and timer runout faults (primarily) */ 153 154 time = tcdp2 -> tcm.delta_vcpu - tcdp1 -> tcm.delta_vcpu; 155 time = time - fault_int_time; 156 call prt ("Other Fault"); 157 158 /* Now calculate the time spent in get-work */ 159 160 time = tcdp2 -> tcm.getwork_time - tcdp1 -> tcm.getwork_time; 161 count = tcdp2 -> tcm.getwork_count - tcdp1 -> tcm.getwork_count; 162 call prt_no_sum (" Getwork"); 163 164 time = tcdp2 -> tcm.loop_lock_time - tcdp1 -> tcm.loop_lock_time; 165 count = tcdp2 -> tcm.loop_locks - tcdp1 -> tcm.loop_locks; 166 if count > 0 then call prt_no_sum (" TC Loop Locks"); 167 168 time = sstp2 -> sst.post_purge_time - sstp1 -> sst.post_purge_time; 169 count = sstp2 -> sst.post_purge_calls - sstp1 -> sst.post_purge_calls; 170 call prt_no_sum (" Post Purging"); 171 172 /* Reset the printing of averages again */ 173 174 count = -1.0e0; 175 176 /* Now calculate the times spent idle */ 177 178 time = tcdp2 -> tcm.mp_idle - tcdp1 -> tcm.mp_idle; 179 call prt ("MP Idle"); 180 181 time = tcdp2 -> tcm.work_class_idle - tcdp1 -> tcm.work_class_idle; 182 call prt ("Work Class Idle"); 183 184 time = tcdp2 -> tcm.loading_idle - tcdp1 -> tcm.loading_idle; 185 call prt ("Loading Idle"); 186 187 time = tcdp2 -> tcm.nmp_idle - tcdp1 -> tcm.nmp_idle; 188 call prt ("NMP Idle"); 189 190 time = tcdp2 -> tcm.zero_idle - tcdp1 -> tcm.zero_idle; 191 call prt ("Zero Idle"); 192 193 /* Now calculate the useful virtual cpu time, without printing it. */ 194 195 prt_sw = ""b; /* tell prt not to print */ 196 time = tcdp2 -> tcm.system_virtual_time - tcdp1 -> tcm.system_virtual_time; 197 call prt ("Virtual CPU Time"); 198 199 /* Now print the part that's unaccounted-for. */ 200 201 if sum < 0.0 then /* won't be more than Planck's constant */ 202 sum, ni_sum = 0.0; 203 call ioa_ ("Other Overhead^17t^6.2f^7.2f", sum, ni_sum); 204 205 /* Now go back and print Virtual CPU Time. We want it to be last because the last line of ttm's output 206* has always been the useful (non-idle, non-overhead) cpu time. */ 207 208 prt_sw = "1"b; 209 call prt ("Virtual CPU Time"); 210 211 reset_code: 212 if rsw then do; 213 call metering_util_$reset (unique, code); 214 if code^=0 then do; 215 call com_err_ (code, MYNAME, "Resetting."); 216 return; 217 end; 218 end; 219 220 call ioa_ (" "); 221 return; 222 223 /* **************************************** */ 224 225 prt: proc (name); /* to calculate percent and print value */ 226 227 dcl name char (*); /* name of value to be printed */ 228 dcl sum_sw bit (1) aligned; /* whether or not to deduct this value from total percent */ 229 dcl avesw bit (1) aligned init ("1"b); /* switch says "print the average column" when on */ 230 dcl nisw bit (1) aligned init ("1"b); /* switch says "this is not idle" when on */ 231 232 sum_sw = "1"b; /* regular entry point: deduct the value from total percent */ 233 234 prt_common: 235 236 if name = "Zero Idle" | name = "NMP Idle" then /* remember to treat the Idle figures differently */ 237 nisw = ""b; /* by turning off the "this is not idle" switch */ 238 if count = 0e0 then ave_time = 0e0; /* if count is zero, don't try to divide by it */ 239 else if count = -1e0 then avesw = ""b; /* negative count means don't print the average column */ 240 else ave_time = time/count; /* otherwise compute the average time for this item */ 241 pc = time/meter_time; /* compute it's percent of total processor time */ 242 ni_pc = time/ni_meter_time; /* and it's percent of non-Idle processor time */ 243 if sum_sw then do; /* if this item should be deducted from percent */ 244 sum = sum - pc; /* do so */ 245 if nisw then /* if this is Idle */ 246 ni_sum = ni_sum - ni_pc; /* don't deduct it from the non-Idle percent */ 247 end; 248 if prt_sw then /* unless we're just calculating, print */ 249 call ioa_ ("^a^17t^6.2f^[^7.2f^;^s^]^[^12.3f^;^s^]", name, pc, nisw, ni_pc, avesw, ave_time); 250 251 return; 252 253 prt_no_sum: entry (name); /* alternate entry point to not deduct from percent */ 254 255 sum_sw = ""b; 256 goto prt_common; 257 258 end prt; 259 260 261 1 1 /* BEGIN INCLUDE FILE ... tcm.incl.pl1 ... used to generate tc_data cds */ 1 2 /* NOTE -- This include file has TWO counterparts in ALM: tc_meters.incl.alm and */ 1 3 /* wcte.incl.alm. They cannot be produced with cif, and must be kept up to date manually. */ 1 4 /* Modified 830914 to replace tty_polling_time with opc_polling_time... -E. A. Ranzenbach */ 1 5 /* Modified 1984.05.21 by M. Pandolf to add tc_suspend_lock */ 1 6 /* Modified 1984.11.26 by Keith Loepere for uid_array. */ 1 7 /* Modified 1984.12.06 by Keith Loepere for page create delaying. */ 1 8 1 9 dcl tcmp ptr; 1 10 1 11 dcl 1 tcm aligned based (tcmp), 1 12 2 tc_suspend_lock like lock, /* when locked, tc is suspended */ 1 13 2 cid2 fixed bin (18), 1 14 2 cid3 fixed bin (18), 1 15 2 cid4 fixed bin (18), 1 16 2 depth_count fixed bin (18), /* depth last process run */ 1 17 2 loadings fixed bin (18), /* number of process loadings */ 1 18 1 19 2 blocks fixed bin (18), /* number of calls to block */ 1 20 2 wakeups fixed bin (18), /* number of calls to wakeup */ 1 21 2 waits fixed bin (18), /* number of calls to wait */ 1 22 2 notifies fixed bin (18), /* number of calls to notify */ 1 23 2 schedulings fixed bin (18), 1 24 2 interactions fixed bin (18), /* number of interactive schedulings */ 1 25 2 avequeue fixed bin (35, 18), /* recent time average of number in queue */ 1 26 2 te_wait fixed bin (18), /* times te called from wait */ 1 27 1 28 2 te_block fixed bin (18), /* times te updated from block */ 1 29 2 te_i_stop fixed bin (18), /* times te updated from i_stop */ 1 30 2 te_pre_empt fixed bin (18), /* times te updated from pre_empt */ 1 31 2 p_interactions fixed bin, /* times interaction bit turned off because of high priority */ 1 32 2 idle fixed bin (71), /* total idle time */ 1 33 2 mp_idle fixed bin (71), /* multi-programming idle */ 1 34 1 35 2 nmp_idle fixed bin (71), /* non-multi-programming idle time */ 1 36 2 zero_idle fixed bin (71), /* zero idle time */ 1 37 2 last_time fixed bin (71), /* last time a process was run */ 1 38 2 loop_locks fixed bin (18), /* times looped on the APT lock */ 1 39 2 loop_lock_time fixed bin (18), /* time looping on the APT lock */ 1 40 2 ave_eligible fixed bin (35, 18), /* average length of eligible queue */ 1 41 2 sort_to_elhead fixed bin (18), /* 0=> no one,1 => int've only, 2 => everybody */ 1 42 2 processor_time fixed bin (71), /* total processor time on system */ 1 43 2 response_time fixed bin (71), /* estimate of response time */ 1 44 2 eligible_time fixed bin (71), /* estimate of eligible time */ 1 45 2 response_count fixed bin, /* count of response meters */ 1 46 2 eligible_count fixed bin, /* count of eligible meters */ 1 47 2 quit_counts (0:5) fixed bin, /* array of buckets indexed by state */ 1 48 2 loading_idle fixed bin (71), /* loading_idle time */ 1 49 2 delta_vcpu fixed bin (71), /* delta virtual CPU time for the system */ 1 50 2 post_purge_switch fixed bin, /* ON if post purging is to be done */ 1 51 2 time_out_severity fixed bin, /* syserr first arg for notify time outs */ 1 52 2 notify_check fixed bin, /* obsolete */ 1 53 2 quit_priority fixed bin, /* factor for scheduler quit response */ 1 54 2 iobm_polling_time fixed bin (71), /* time to poll iobm */ 1 55 2 end_of_time fixed bin (71), /* very large time */ 1 56 2 gp_at_notify fixed bin (18), /* 0 => just do get_idle_processor */ 1 57 2 gp_at_ptlnotify fixed bin (18), /* 0 => just do get_idle_processor */ 1 58 2 int_q_enabled fixed bin (18), /* 0 => no intv q in percent mode */ 1 59 2 fnp_buffer_threshold fixed bin (18), /* if fewer free buffs then stingy alloc strategy */ 1 60 /* set this to >= half n_ttylines/fnp for safety */ 1 61 1 62 /* 100 octal */ 1 63 1 64 2 depths (8) fixed bin (18), /* histogram of run depths */ 1 65 2 tdepths (8) fixed bin (71), /* histogram of times run per depth */ 1 66 2 pfdepth (8) fixed bin (18), /* histogram of page faults per depth */ 1 67 1 68 2 ptl_not_waits fixed bin (18), /* times ptl_wait noticed ptl was unlocked */ 1 69 2 gw_gp_window_count fixed bin (18), /* times window noticed */ 1 70 2 metering_lock fixed bin (18), /* 0=locked, else unlocked */ 1 71 2 ptl_waits fixed bin (18), /* num calls to ptl_wait */ 1 72 2 gp_start_count fixed bin (18), /* to detect gw_gp window lossage */ 1 73 2 gp_done_count fixed bin (18), 1 74 2 nto_check_time fixed bin (71), /* next time at which nto code will be called */ 1 75 2 nto_delta fixed bin (35), /* microsec between nto checks */ 1 76 2 nto_count fixed bin (18), /* number of times nto detected */ 1 77 2 tcpu_scheduling fixed bin (18), /* obsolete */ 1 78 2 nto_event bit (36), /* last event which NTO'd */ 1 79 2 page_notifies fixed bin (18), 1 80 2 notify_nobody_count fixed bin (18), 1 81 2 notify_nobody_event bit (36), 1 82 2 system_type fixed bin, /* used to be tcm.inter */ 1 83 1 84 2 stat (0:15) fixed bin (18), /* num apte's in each state */ 1 85 1 86 /* 200 octal */ 1 87 1 88 2 wait (8), 1 89 3 time fixed bin (18), /* histogram of page fault waiting times versus did */ 1 90 3 count fixed bin (18), 1 91 1 92 2 ready (8), 1 93 3 time fixed bin (18), /* histogram of times in ready queue */ 1 94 3 count fixed bin (18), 1 95 1 96 2 total_pf_time fixed bin (71), /* total time spent from start to end of 1 97* all page faults */ 1 98 2 total_pf_count fixed bin (18), /* total number of page faults metered */ 1 99 2 auto_tune_ws fixed bin (18), /* 0=> dont, atherwise compensate for quantum len */ 1 100 2 ocore_delta fixed bin (18), /* number of pages reserved for int users */ 1 101 2 ws_sum fixed bin (18), /* total of eligible's ws_sizes */ 1 102 2 nonidle_force_count fixed bin (18), /* count of eligibilities forced */ 1 103 2 itt_list_lock bit (36) aligned, /* Lock on ITT free list */ 1 104 2 cpu_pf_time fixed bin (71), /* total cpu time spent handling page faults */ 1 105 2 cpu_pf_count fixed bin (18), /* total count of cpu time meterings */ 1 106 2 special_offsets unaligned, 1 107 3 apt_offset bit (18), 1 108 3 pad bit (18), 1 109 2 getwork_time fixed bin (71), /* total time spent in getwork */ 1 110 2 getwork_count fixed bin (18), /* total times through getwork */ 1 111 2 short_pf_count fixed bin (18), /* number of short page faults */ 1 112 2 interrupt_time fixed bin (71), /* total time spent in interrupt */ 1 113 2 interrupt_count fixed bin (71), /* total number of metered interrupts */ 1 114 2 ocore fixed bin (35, 18), /* fraction of core for int've users */ 1 115 2 pre_empt_flag bit (36) aligned, /* controls whether preempting at done time */ 1 116 2 cumulative_memory_usage fixed binary (71), /* total number of memory usage units */ 1 117 2 processor_time_at_define_wc fixed bin (71), /* value of processor_time when WC's last defined */ 1 118 2 boost_priority fixed bin, /* number of times priority process given high priority */ 1 119 2 lost_priority fixed bin, /* number of times priority process lost eligibility */ 1 120 2 total_clock_lag fixed bin (71), /* sum of all simulated clock delays */ 1 121 2 clock_simulations fixed bin, /* number of times alarm clock interrupt was simulated */ 1 122 2 max_clock_lag fixed bin, /* largest simulated alarm clock delay */ 1 123 1 124 /* 300 octal */ 1 125 1 126 2 pdscopyl fixed bin (18), /* amount of pds to copy for new process */ 1 127 2 max_hproc_segno fixed bin, /* largest allowed hardcore segment number */ 1 128 2 prds_length fixed bin (18), /* length of PRDS */ 1 129 2 pds_length fixed bin (18), /* length of PDS */ 1 130 2 lock fixed bin (18), /* process id generator lock */ 1 131 2 id bit (36) aligned, /* next uid to be added to uid_array */ 1 132 2 system_shutdown fixed bin (18), 1 133 2 working_set_factor fixed bin (35, 18), /* working set factor */ 1 134 1 135 2 ncpu fixed bin (18), /* number of processors currently being used */ 1 136 2 last_eligible bit (18), /* last process to gain eligibility */ 1 137 2 apt_lock fixed bin (35), /* + write; 0 hidden; -1 unlocked; -(N+1) Nreaders */ 1 138 2 apt_size fixed bin (18), /* number of APT entries */ 1 139 2 realtime_q aligned like based_sentinel, /* processes with realtime deadlines */ 1 140 2 aht_size fixed bin (18), /* APT hash table size */ 1 141 2 itt_size fixed bin (18), /* number of ITT entries */ 1 142 1 143 2 dst_size fixed bin (18), /* number of allowed DST entries */ 1 144 2 itt_free_list bit (18), /* pointer to ITT free list */ 1 145 2 used_itt fixed bin (18), /* number of used ITT entries */ 1 146 2 initializer_id bit (36) aligned, /* process id of initializer */ 1 147 2 n_eligible fixed bin (18), /* number of processes eligible */ 1 148 2 max_eligible fixed bin (30), /* maximum allowed number of eligible processes */ 1 149 2 wait_enable fixed bin (18), /* turned on when waiting mechanism works */ 1 150 2 apt_entry_size fixed bin (18), /* size of an APT entry */ 1 151 1 152 2 interactive_q aligned like based_sentinel, /* head of interactive queue */ 1 153 2 dst_ptr ptr, /* pointer to device signal table */ 1 154 2 old_user ptr, /* last process to run (apt ptr ) */ 1 155 2 initialize_time fixed bin (71), /* time of initialization */ 1 156 1 157 2 init_event fixed bin (18), /* wait event during initialization */ 1 158 2 oldt fixed bin (18), /* timer reading from previous process */ 1 159 2 newt fixed bin (18), /* timer setting for new process */ 1 160 2 tefirst fixed bin (30), /* first eligible time */ 1 161 2 telast fixed bin (30), /* last eligible time */ 1 162 2 timax fixed bin (35), /* time in queue for lowest level */ 1 163 2 empty_q bit (18), /* thread of empty APT entries */ 1 164 2 working_set_addend fixed bin (18), /* additive working set parameter */ 1 165 2 ready_q_head bit (0) aligned, /* for added segdef */ 1 166 2 eligible_q_head aligned like based_sentinel, /* head of eligible queue */ 1 167 2 ready_q_tail bit (0) aligned, /* for added segdef */ 1 168 2 eligible_q_tail aligned like based_sentinel, /* tail of eligible queue */ 1 169 2 idle_tail aligned like based_sentinel, /* tail of idle list */ 1 170 2 min_eligible fixed bin (30), 1 171 2 alarm_timer_list bit (18) aligned, /* rel pointer to apt entry for next alarm timer */ 1 172 2 guaranteed_elig_inc fixed bin (35), /* amount of guaranteed eligibility time in microsecs. */ 1 173 2 priority_sched_inc fixed bin (35), /* amount of block time before process is given priority */ 1 174 2 next_alarm_time fixed bin (71), /* clock time for next alarm timer */ 1 175 2 priority_sched_time fixed bin (71), /* time for priority process to be given priority */ 1 176 2 opc_polling_time fixed bin (71), /* time to poll console DIM */ 1 177 2 disk_polling_time fixed bin (71), /* time to poll disk DIM */ 1 178 2 tape_polling_time fixed bin (71), /* time to poll tape DIM */ 1 179 2 imp_polling_time fixed bin (71), /* time to poll imp */ 1 180 2 imp_polling_lock fixed bin (18), /* do not poll if lock set */ 1 181 2 max_channels fixed bin (18), /* num special channels per process */ 1 182 1 183 /* 400 octal */ 1 184 1 185 2 system_virtual_time fixed bin (71), /* non-idle virtual time */ 1 186 2 credit_bank fixed bin (71), /* credits not yet passed out */ 1 187 2 min_wct_index bit (18) aligned, /* offset of initializer work class table entry */ 1 188 2 max_wct_index bit (18) aligned, /* offset of highest wcte currently defined */ 1 189 2 delta_vt fixed bin (71), /* temp used by pxss.compute_virtual_clocks */ 1 190 2 gross_idle_time fixed bin (71), /* idle time_used_clock */ 1 191 2 credits_per_scatter fixed bin (35), /* total number of credits awarded at once */ 1 192 2 best_credit_value fixed bin (18), /* temp for pxss.find_next_eligible */ 1 193 2 define_wc_time fixed bin (71), /* clock time when workclasses last degined */ 1 194 2 max_batch_elig fixed bin (35), 1 195 2 num_batch_elig fixed bin (35), 1 196 2 deadline_mode fixed bin (35), /* 0=> ti sorts, else deadline sorts */ 1 197 2 credits_scattered fixed bin (35), 1 198 2 max_max_eligible fixed bin (30), /* Maximum of maxe */ 1 199 2 max_stopped_stack_0 fixed bin (35), /* Maximum stack_0's suspended by stopped procs */ 1 200 2 stopped_stack_0 fixed bin (35), /* Number stack_0's suspended by stopped procs */ 1 201 2 mos_polling_interval fixed bin (35), /* for heals */ 1 202 2 mos_polling_time fixed bin (71), /* for heals */ 1 203 2 vcpu_response_bounds (VCPU_RESPONSE_BOUNDS) fixed bin (35), 1 204 2 vcpu_response_bounds_size fixed bin (35), 1 205 2 meter_response_time_calls fixed bin (35), 1 206 2 meter_response_time_invalid fixed bin (35), 1 207 2 meter_response_time_overhead fixed bin (71), 1 208 2 init_wait_time fixed bin (71), /* used by wait/notify during initialization */ 1 209 2 init_wait_timeout fixed bin (71), /* notify-timeout interval during initialization */ 1 210 2 init_timeout_severity fixed bin, /* notify-timeout severity during initialization */ 1 211 2 init_timeout_recurse fixed bin, /* count of NTO recursion during initialization */ 1 212 2 max_timer_register fixed bin (71), /* max cpu burst = # cpus x pre_empt_sample_time */ 1 213 2 pre_empt_sample_time fixed bin (35), /* tuning parameter - max time between samples */ 1 214 2 governing_credit_bank fixed bin (35), /* used for limiting eligibility on governed work classes*/ 1 215 2 process_initial_quantum fixed bin (35), /* eligibility quantum first eligibility */ 1 216 2 default_procs_required bit (8) aligned, /* default mask of CPUs required */ 1 217 2 work_class_idle fixed bin (71), /* idle time due to work class restrictions */ 1 218 1 219 /* Tuning Parameters for Stack Truncation */ 1 220 1 221 2 stk_truncate bit (1) aligned, 1 222 2 stk_truncate_always bit (1) aligned, 1 223 2 stk_trunc_avg_f1 fixed bin (35, 18), 1 224 2 stk_trunc_avg_f2 fixed bin (35, 18), 1 225 2 lock_error_severity fixed bin, /* syserr severity */ 1 226 1 227 2 gv_integration fixed bin (35), /* Integration interval for governing */ 1 228 2 gv_integration_set bit (1) aligned, /* ON => gv_integration set by ctp */ 1 229 2 pauses fixed bin (35), /* Calls to pause (reschedule) */ 1 230 2 volmap_polling_time fixed bin (71), 1 231 2 next_ring0_timer fixed bin (71), /* next time that ring 0 timer goes off */ 1 232 2 realtime_io_priority_switch fixed bin, /* 0 => give I/O interrupt wakeups realtime priotiry */ 1 233 2 realtime_io_deadline fixed bin (35), /* Delta to clock for I/O realtime deadline */ 1 234 2 realtime_io_quantum fixed bin (35), /* Quantum for I/O realtime burst */ 1 235 2 realtime_priorities fixed bin (35), /* Count for metering */ 1 236 2 relinquishes fixed bin (35), /* Calls to relinquish_priority */ 1 237 2 abort_ips_mask bit (36) aligned, /* IPS mask for tc_util$check_abort */ 1 238 1 239 /* 500 octal */ 1 240 1 241 2 uid_array (0:15) bit (36) aligned, /* array from which a uid is chosen (randomly) */ 1 242 2 pad5 (176) fixed bin (35), /* room for expansion compatibly */ 1 243 1 244 /* 1000 octal */ 1 245 1 246 2 pad7 (64) fixed bin (35), 1 247 1 248 /* 1100 octal */ 1 249 1 250 2 pad6 (8) fixed bin (35), 1 251 2 work_class_table aligned, /* array of per workclass information */ 1 252 3 wcte (0:16) aligned like wct_entry, 1 253 1 254 /* 3000 octal */ 1 255 1 256 2 apt fixed bin; 1 257 1 258 dcl wctep ptr; 1 259 1 260 dcl 1 wct_entry aligned based (wctep), /* Work class entry */ 1 261 2 thread unaligned, /* Ready list */ 1 262 3 fp bit (18), /* Head of ready list */ 1 263 3 bp bit (18), /* Tail of ready list */ 1 264 2 flags unaligned, 1 265 3 mnbz bit (1), /* Sentinel bit must not be zero. */ 1 266 3 defined bit (1), 1 267 3 io_priority bit (1), 1 268 3 governed bit (1), 1 269 3 interactive_q bit (1), 1 270 3 pad bit (31), 1 271 2 credits fixed bin (35), /* Current worthiness of group */ 1 272 2 minf fixed bin (35), /* min fraction of cpu */ 1 273 2 pin_weight fixed bin (35), /* number of cycles to pin pages */ 1 274 2 eligibilities fixed bin (35), /* Count of eligibilities awarded */ 1 275 2 cpu_sum fixed bin (71), /* CPU used by members */ 1 276 2 resp1 fixed bin (71), 1 277 2 resp2 fixed bin (71), 1 278 2 quantum1 fixed bin (35), 1 279 2 quantum2 fixed bin (35), 1 280 2 rmeter1 fixed bin (71), 1 281 2 rmeter2 fixed bin (71), 1 282 2 rcount1 fixed bin (35), 1 283 2 rcount2 fixed bin (35), 1 284 2 realtime fixed bin (35), 1 285 2 purging fixed bin (35), 1 286 2 maxel fixed bin (35), 1 287 2 nel fixed bin (35), 1 288 2 number_thinks fixed bin (35), /* number times process entered "think" state */ 1 289 2 number_queues fixed bin (35), /* number times process entered "queued" state */ 1 290 2 total_think_time fixed bin (71), 1 291 2 total_queue_time fixed bin (71), 1 292 1 293 /* The next three arrays correspond to the array vcpu_response_bounds */ 1 294 1 295 2 number_processing (VCPU_RESPONSE_BOUNDS+1) fixed bin (35), /* number times entered "processing" state */ 1 296 2 total_processing_time (VCPU_RESPONSE_BOUNDS+1) fixed bin (71), 1 297 2 total_vcpu_time (VCPU_RESPONSE_BOUNDS+1) fixed bin (71), 1 298 2 maxf fixed bin (35), /* maximum fraction of cpu time */ 1 299 2 governing_credits fixed bin (35), /* for limiting cpu resources */ 1 300 2 pad1 (4) fixed bin (35); 1 301 1 302 1 303 dcl 1 based_sentinel aligned based, /* format of pxss-style sentinel */ 1 304 2 fp bit (18) unal, 1 305 2 bp bit (18) unal, 1 306 2 sentinel bit (36) aligned; 1 307 1 308 dcl VCPU_RESPONSE_BOUNDS fixed bin init (3) int static options (constant); 1 309 1 310 /* END INCLUDE FILE tcm.incl.pl1 */ 262 263 2 1 /* Begin include file hc_lock.incl.pl1 BIM 2/82 */ 2 2 /* Replaced by hc_fast_lock.incl.pl1 RSC 11/84 because name of structure 2 3* encourages name conflicts. 2 4* USE HC_FAST_LOCK INSTEAD! 2 5**/ 2 6 2 7 /* Lock format suitable for use with lock$lock_fast, unlock_fast */ 2 8 2 9 /* format: style3 */ 2 10 2 11 declare lock_ptr pointer; 2 12 declare 1 lock aligned based (lock_ptr), 2 13 2 pid bit (36) aligned, /* holder of lock */ 2 14 2 event bit (36) aligned, /* event associated with lock */ 2 15 2 flags aligned, 2 16 3 notify_sw bit (1) unaligned, 2 17 3 pad bit (35) unaligned; /* certain locks use this pad, like dirs */ 2 18 2 19 /* End include file hc_lock.incl.pl1 */ 264 265 3 1 /* BEGIN INCLUDE FILE ... sst.incl.pl1 ... January 1971 */ 3 2 /* Note: This include file has an ALM counterpart made with cif. Keep it up to date */ 3 3 /* Deleted paging device info and added pc segmove info, Benson Margulies 84-01-03 */ 3 4 /* Added covert channel meters, Keith Loepere 85-01-08. */ 3 5 3 6 dcl sst_seg$ external; 3 7 dcl sstp ptr; 3 8 3 9 dcl 1 sst based (sstp) aligned, 3 10 2 space (8) fixed bin, /* empty space to watch for bugs */ 3 11 3 12 /* SST HEADER */ 3 13 3 14 2 pre_page_time fixed bin (71), /* total time spent pre-paging */ 3 15 2 post_purge_time fixed bin (71), /* total time spent post-purging */ 3 16 2 post_in_core fixed bin, /* total pages in core (and in list) at purge time */ 3 17 2 thrashing fixed bin, /* meter of thrashing being done on system */ 3 18 2 npfs_misses fixed bin, /* meter of times npfs was on when pre-paging */ 3 19 2 salv fixed bin, /* flag which is ^=0 if and only if salvaging */ 3 20 3 21 2 ptl bit (36), /* global page table loop lock */ 3 22 2 astl bit (36), /* global ast allocation block lock */ 3 23 2 astl_event bit (36), /* event used when waiting for AST lock */ 3 24 2 astl_notify_requested bit (1) aligned, /* flag to notify AST lock */ 3 25 2 nused fixed bin, /* number of pages on used list */ 3 26 2 ptwbase fixed bin (24), /* absolute address of page table array */ 3 27 2 tfreep ptr, /* pointer to first trailer on free list */ 3 28 3 29 2 astap ptr, /* aste array pointer */ 3 30 2 ptl_wait_ct fixed bin, /* pxss: number is >= # of processes waiting to ptl */ 3 31 2 astsize fixed bin, /* size of an AST entry */ 3 32 2 cmesize fixed bin, /* size of a CME entry */ 3 33 2 root_astep ptr, /* pointer to the root AST entry */ 3 34 3 35 2 pts (0: 3) fixed bin, /* array of page table sizes */ 3 36 2 level (0:3), /* per-list information about ASTE's */ 3 37 3 (ausedp, no_aste) bit (18) unaligned, /* used list and count of number of entries */ 3 38 3 39 2 (atempp, atempp1) bit (18) unal, /* temp seg list pointer */ 3 40 2 dm_enabled bit (1) aligned, /* ON => journal seg exists */ 3 41 2 (ainitp, ainitp1) bit (18) unal, /* init seg list pointer */ 3 42 2 strsize fixed bin, /* Trailer size in words. */ 3 43 3 44 /* CORE MAP HEADER */ 3 45 3 46 2 cmp ptr, /* pointer to start of core map */ 3 47 2 usedp bit (18), /* pointer to first used core block */ 3 48 2 wtct fixed bin, /* count of pages being written */ 3 49 3 50 2 startp bit (18), /* pointer to solid page for lap counting (fsdct) */ 3 51 2 removep bit (18), /* pointer to list of pages being removed from use */ 3 52 /* MISC */ 3 53 3 54 2 double_write fixed bin, /* trigger for store through scheme */ 3 55 /* 0 = no double writes, 3 56* 1 = all non-pd pages get written, 3 57* 2 = all directories get written */ 3 58 2 temp_w_event bit (36) aligned, /* wait event for temp wiring lock */ 3 59 2 root_pvtx fixed bin, /* pvtx or rpv */ 3 60 2 nolock bit (1) aligned, /* if on, don't lock ptl on interrupts */ 3 61 3 62 2 fc_skips_pinned fixed bin (35), /* number of skips over pinned page in find_core */ 3 63 2 cl_skips_pinned fixed bin (35), /* number of skips over pinned page in claim_mod_core */ 3 64 2 ast_ht_ptr ptr, /* AST hast table pointer */ 3 65 2 ast_ht_n_buckets fixed bin, /* number of buckets in AST hash table */ 3 66 2 ast_ht_uid_mask bit (36) aligned, /* mask to strip out low-order bits of uid */ 3 67 2 meter_ast_locking fixed bin, /* non-zero enables AST lock meters */ 3 68 2 checksum_filemap fixed bin, /* non-zero enables filemap checksumming */ 3 69 3 70 2 page_read_errors fixed bin, /* read errors posted to page control */ 3 71 2 page_write_errors fixed bin, /* write errors posted to page control */ 3 72 3 73 2 cycle_pv_allocation fixed bin, /* flag to cycle VTOCE allocation among PVs */ 3 74 3 75 2 n_trailers fixed bin, /* Number of trailer entries in str_seg */ 3 76 2 synch_activations fixed bin (35), /* Activation attempts for synchronized segs */ 3 77 2 synch_skips fixed bin (35), /* get_aste skips because not synchronized */ 3 78 3 79 2 lock_waits fixed bin, /* Number of times we had to wait for a lock */ 3 80 2 total_locks_set fixed bin, /* Total number of block locks set */ 3 81 2 pdir_page_faults fixed bin, /* total page faults off >pdd */ 3 82 2 level_1_page_faults fixed bin, /* total page faults in sys libes */ 3 83 2 dir_page_faults fixed bin, /* Total page faults on directories */ 3 84 2 ring_0_page_faults fixed bin, /* page faults in ring 0 */ 3 85 2 rqover fixed bin (35), /* errcode for record quota overflow */ 3 86 2 pc_io_waits fixed bin, /* Number of times pc had to wait on io */ 3 87 3 88 3 89 /* The following (until pdmap) used to be the 'cnt' in cnt.incl.pl1 */ 3 90 3 91 2 steps fixed bin, /* number of steps taken around used list */ 3 92 2 needc fixed bin, /* number of times core page needed */ 3 93 2 ceiling fixed bin, /* number of times ceiling hit */ 3 94 2 ctwait fixed bin, /* number of times write counter was full */ 3 95 2 wired fixed bin, /* number of pages wired by pc */ 3 96 2 laps fixed bin, /* number of times around used list */ 3 97 2 skipw fixed bin, /* number of pages skiped because they were wired */ 3 98 2 skipu fixed bin, /* because of being used */ 3 99 3 100 2 skipm fixed bin, /* because of being modified */ 3 101 2 skipos fixed bin, /* because out of service */ 3 102 2 aused fixed bin, /* number of AST entries on used list */ 3 103 2 damaged_ct fixed bin, /* count of segments that system damaged */ 3 104 2 deact_count fixed bin, /* count of deactivations */ 3 105 2 demand_deact_attempts fixed bin, /* user requested deactivations */ 3 106 2 demand_deactivations fixed bin, /* user instigated deactivations */ 3 107 3 108 2 reads (8) fixed bin, /* number of reads for each did */ 3 109 2 writes (8) fixed bin, /* number of writes for each did */ 3 110 3 111 2 short_pf_count fixed bin, /* count of page faults on out of service pages */ 3 112 2 loop_locks fixed bin, /* count of times locked PTL */ 3 113 2 loop_lock_time fixed bin (71), /* time spent looping on PTL */ 3 114 2 cpu_sf_time fixed bin (71), /* cpu time spent in seg_fault */ 3 115 2 total_sf_pf fixed bin, /* total page faults while in seg_fault */ 3 116 2 total_sf fixed bin, /* total number of seg_faults */ 3 117 2 pre_page_size fixed bin, /* total pre-pagings expected */ 3 118 2 post_list_size fixed bin, 3 119 2 post_purgings fixed bin, /* total number of post-purgings */ 3 120 2 post_purge_calls fixed bin, /* total number of calls to post-purge */ 3 121 2 pre_page_calls fixed bin, /* total number of calls tp pre-page */ 3 122 2 pre_page_list_size fixed bin, 3 123 2 pre_page_misses fixed bin, /* total number of misses in pre-page list */ 3 124 2 pre_pagings fixed bin, /* total number of pre-pagings */ 3 125 3 126 /* TEMPORARY WIRED PROCEDURE INFO */ 3 127 3 128 2 wire_proc_data (8) fixed bin (71), /* data for wire_proc */ 3 129 3 130 /* MAIN MEMORY USAGE INFORMATION */ 3 131 3 132 2 abs_wired_count fixed bin, /* count of abs-wired pages */ 3 133 2 system_type fixed bin, /* ADP_SYSTEM or L68_SYSTEM */ 3 134 2 wired_copies fixed bin, /* number of times a wired page was copied */ 3 135 2 recopies fixed bin, /* number of times recopied because modified */ 3 136 2 first_core_block fixed bin, /* core map index for first block of core */ 3 137 2 last_core_block fixed bin, /* core map index for last block of core */ 3 138 2 fw_retries fixed bin (35), /* force_write retries due to ASTE move */ 3 139 2 pvhtp ptr unaligned, /* ptr to PV hold table for debugging */ 3 140 3 141 /* AST METERS */ 3 142 3 143 2 askipsize (0: 3) fixed bin, /* array of skips because wrong AST size */ 3 144 2 aneedsize (0: 3) fixed bin, /* array of times needed each size */ 3 145 3 146 2 stepsa fixed bin, /* count of steps taken looking for an AST entry */ 3 147 2 askipsehs fixed bin, /* count of skips because EHS was ON */ 3 148 2 asearches fixed bin, /* count of full searches made */ 3 149 2 askipslevel fixed bin, /* count of skips because pages were in core */ 3 150 2 askipsinit fixed bin, /* count of times turned OFF init switch */ 3 151 2 acost fixed bin, /* cumulative cost of deactivations */ 3 152 2 askipslock fixed bin, /* count of skips because couldn't lock parent */ 3 153 2 askipdius fixed bin, /* count of skips because DIUS was on */ 3 154 3 155 2 alaps fixed bin, /* lap counter for AST list */ 3 156 2 updates fixed bin, /* calls to updateb */ 3 157 2 setfaults_all fixed bin, /* setfaults done to the entire SDW */ 3 158 2 setfaults_acc fixed bin, /* setfaults done to the access field */ 3 159 2 total_bf fixed bin, /* count of bound faults */ 3 160 2 total_bf_pf fixed bin, /* page faults during bound faults */ 3 161 2 cpu_bf_time fixed bin (71), /* cpu time spent in bound fault */ 3 162 3 163 2 asteps (0: 3) fixed bin, /* per-size AST step counters */ 3 164 3 165 2 ast_locked_at_time fixed bin (71), /* clock reading when ast last locked */ 3 166 2 ast_locked_total_time fixed bin (71), /* total real time the ast lock was locked */ 3 167 2 ast_lock_wait_time fixed bin (71), /* total real time of all waiting on ast lock */ 3 168 2 ast_locking_count fixed bin (35), /* number of times ast was locked */ 3 169 2 cleanup_count fixed bin, /* calls to pc$cleanup */ 3 170 2 cleanup_real_time fixed bin (71), /* total real time in pc$cleanup */ 3 171 3 172 /* PRE-PAGE METERS */ 3 173 3 174 2 tree_count (0: 63) fixed bin, /* counters for pre-page decisions */ 3 175 3 176 2 pp_meters (0: 63) fixed bin, /* counters for measuring pre-page success */ 3 177 3 178 3 179 2 wusedp bit (18) aligned, /* Relative cmep to next cme for writing */ 3 180 2 write_hunts fixed bin, /* Times claim_mod_core invoked */ 3 181 2 claim_skip_cme fixed bin, /* Times unacceptable cme found by c_m_c */ 3 182 2 claim_skip_free fixed bin, /* Times free cme passed by c_m_c */ 3 183 2 claim_notmod fixed bin, /* Times c_m_c passed pure page */ 3 184 2 claim_passed_used fixed bin, /* Times used page seen */ 3 185 2 claim_skip_ptw fixed bin, /* Times c_m_c saw unacceptable ptw */ 3 186 2 claim_writes fixed bin, /* Writes queued by c_m_c */ 3 187 2 claim_steps fixed bin, /* Steps passed in core claiming */ 3 188 2 pre_seeks_failed fixed bin, /* counter of times quick find_core_ failed */ 3 189 2 resurrections fixed bin, /* nulled addresses reinstated */ 3 190 2 volmap_seg_page_faults fixed bin (35), /* Pseudo-page faults on volmap_seg */ 3 191 2 oopv fixed bin, /* out-of-physical-volume page faults */ 3 192 2 dblw_resurrections fixed bin, /* addresses resurrected by double-writing */ 3 193 2 sgm_time fixed bin (71), /* Time (VCPU) in seg mover */ 3 194 2 sgm_pf fixed bin, /* Page faults in seg moving */ 3 195 2 bad_sgms fixed bin, /* Seg moves that failed */ 3 196 2 sgm_sgft fixed bin, /* Seg faults in seg moves */ 3 197 2 good_sgms fixed bin, /* Seg moves that completed */ 3 198 2 claim_runs fixed bin, /* Times claim_mod_core had to run */ 3 199 2 activations fixed bin, /* total count of activations */ 3 200 2 dir_activations fixed bin, /* count of directory activations */ 3 201 2 hedge_updatevs fixed bin, /* call-in updatevs */ 3 202 2 hedge_writes fixed bin, /* call in core flush writes */ 3 203 2 evict_recover_data, /* see evict_page.alm */ 3 204 3 evict_ptp bit (18) unal, /* ptp of page being moved */ 3 205 3 evict_phmbit bit (18) unal, /* N/Z if page was mod */ 3 206 3 207 /* Data for metering force_write facility 08/19/78 */ 3 208 3 209 2 force_swrites fixed bin, /* Calls on segments to force write */ 3 210 2 force_pwrites fixed bin, /* Mod pages so written */ 3 211 2 fw_none fixed bin, /* Force write wrote none */ 3 212 2 force_updatevs fixed bin, /* Updatev's so forced */ 3 213 3 214 2 pf_unlock_ptl_time fixed bin (71), /* Time unlocking ptln page faults */ 3 215 2 pf_unlock_ptl_meterings fixed bin, 3 216 3 217 2 makeknown_activations fixed bin (35), /* activations at makeknown time */ 3 218 2 backup_activations fixed bin (35), /* activations for backup */ 3 219 2 metering_flags aligned, /* small chunks of misc. information */ 3 220 3 activate_activated bit (1) unal, /* ON => last call to activate entry actually activated something */ 3 221 3 pad bit (35) unal, 3 222 2 seg_fault_calls fixed bin (35), /* number calls to seg_fault for explicit activation */ 3 223 3 224 /* METERS FOR STACK TRUNCATION */ 3 225 3 226 2 (stk_truncate_should_didnt, /* counts */ 3 227 stk_truncate_should_did, 3 228 stk_truncate_shouldnt_didnt, 3 229 stk_truncate_shouldnt_did) fixed bin (35), 3 230 2 stk_pages_truncated fixed bin (35), 3 231 2 stk_pages_truncated_in_core fixed bin (35), 3 232 3 233 /* SUPPORT FOR PC SEGMOVES */ 3 234 3 235 2 segmove_lock aligned, 3 236 3 pid bit (36) aligned, 3 237 3 event bit (36) aligned, 3 238 3 notify bit (1) aligned, 3 239 2 segmove_io_limit fixed bin, /* max read aheads */ 3 240 2 segmove_found_synch fixed bin (35), /* cme.synch_held */ 3 241 2 segmove_synch_disappeared fixed bin (35), /* page$check_synch fixed */ 3 242 2 segmove_n_reads fixed bin (35), /* total IO's queued. */ 3 243 2 segmove_max_tries fixed bin (35), /* max times through the read loop */ 3 244 3 245 2 segmove_astep ptr unal, /* if non-null, addresses to be rescued from old_addr_astep */ 3 246 2 segmove_pvtx fixed bin, /* if segmove_astep nonnull, valid */ 3 247 2 segmove_vtocx fixed bin, /* ditto */ 3 248 2 segmove_old_addr_astep ptr unaligned, /* ditto */ 3 249 2 segmove_new_addr_astep ptr unaligned, /* if non-null, the addresses must be deposited. */ 3 250 3 251 2 mod_during_write fixed bin, /* times a page was modified while it was being written */ 3 252 2 zero_pages fixed bin, /* count of pages truncated because all zero */ 3 253 2 trace_sw aligned, /* tracing control flags */ 3 254 3 pad_trace bit (32) unaligned, 3 255 3 pc_trace_pf bit (1) unaligned, /* tracing for page faults, done, etc. */ 3 256 3 tty_trace bit (1) unaligned, 3 257 3 pc_trace bit (1) unaligned, /* flag used by page control primitives */ 3 258 3 sc_trace bit (1) unaligned, /* flag used by segment control primitives */ 3 259 2 new_pages fixed bin, /* newly created pages */ 3 260 2 ast_track bit (1) aligned, /* "1"b => keep SST name table */ 3 261 2 dirlock_writebehind fixed bin, /* =1 to flush modified dir pages in lock$unlock */ 3 262 2 write_limit fixed bin, /* Max # of outstanding writes by page control */ 3 263 2 crash_test_segmove bit (1) aligned, /* crash in mid-segmove */ 3 264 2 delayed_seg_state_chg fixed bin (35), /* count of times a process was delayed in affecting a seg state */ 3 265 2 audit_seg_state_chg fixed bin (35), /* count of times a process was audited for excessive seg state changes */ 3 266 2 seg_state_chg_delay fixed bin (52), /* total times processes were delayed for covert channels */ 3 267 2 seg_state_change_limit fixed bin, /* number of events over which we determine covert channel bandwidth */ 3 268 2 max_seg_state_change_bw fixed bin, /* maximum bps for covert channel before we delay */ 3 269 2 audit_seg_state_change_bw fixed bin, /* maximum bps for covert channel before we audit */ 3 270 2 seg_state_chg_operation bit (36) aligned, /* access_operation_ value for excessive_seg_state_chg */ 3 271 2 pad4 (126) bit (36) aligned; /* padding to 512 words (1000)8 */ 3 272 3 273 /* END INCLUDE FILE sst.incl.pl1 */ 266 267 end total_time_meters; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/22/85 1307.7 total_time_meters.pl1 >spec>temp>41-5>total_time_meters.pl1 262 1 01/22/85 1321.5 tcm.incl.pl1 >spec>temp>41-5>tcm.incl.pl1 264 2 01/06/85 1422.1 hc_lock.incl.pl1 >ldd>include>hc_lock.incl.pl1 266 3 01/22/85 1321.6 sst.incl.pl1 >spec>temp>41-5>sst.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. MYNAME 000000 constant char(17) initial unaligned dcl 40 set ref 53* 78* 215* VCPU_RESPONSE_BOUNDS constant fixed bin(17,0) initial dcl 1-308 ref 181 181 arg based char unaligned dcl 33 set ref 63 63 64 64 66* argl 000132 automatic fixed bin(17,0) dcl 28 set ref 61* 63 63 64 64 66 66 argp 000010 internal static pointer dcl 20 set ref 61* 63 63 64 64 66 ave_time 000102 automatic float bin(27) dcl 22 set ref 238* 240* 248* avesw 000147 automatic bit(1) initial dcl 229 set ref 229* 239* 248* based_sentinel based structure level 1 dcl 1-303 code 000134 automatic fixed bin(35,0) dcl 29 set ref 49* 52 53* 61* 62 75* 77 78* 213* 214 215* com_err_ 000024 constant entry external dcl 21 ref 53 66 78 215 count 000103 automatic float bin(27) dcl 22 set ref 110* 115* 116 119* 120 129* 136* 143* 149* 161* 165* 166 169* 174* 238 239 240 cpu_bf_time 252 based fixed bin(71,0) level 2 dcl 3-9 ref 135 135 cpu_pf_count 252 based fixed bin(18,0) level 2 dcl 1-11 ref 110 110 cpu_pf_time 250 based fixed bin(71,0) level 2 dcl 1-11 ref 109 109 cpu_sf_time 160 based fixed bin(71,0) level 2 dcl 3-9 ref 128 128 cu_$arg_count 000026 constant entry external dcl 27 ref 60 cu_$arg_ptr 000030 constant entry external dcl 31 ref 61 current_ptrs 000122 automatic pointer array dcl 25 set ref 75* 83 84 delta_vcpu 62 based fixed bin(71,0) level 2 dcl 1-11 ref 154 154 error_table_$badopt 000042 external static fixed bin(35,0) dcl 39 set ref 66* fault_int_time 000112 automatic float bin(27) dcl 22 set ref 105* 112* 112 122* 122 131* 131 138* 138 145* 145 155 formatted_time 000116 automatic char(10) unaligned dcl 24 set ref 75* 85* getwork_count 256 based fixed bin(18,0) level 2 dcl 1-11 ref 161 161 getwork_time 254 based fixed bin(71,0) level 2 dcl 1-11 ref 160 160 i 000133 automatic fixed bin(17,0) dcl 28 set ref 60* 61* idle 000111 automatic float bin(27) dcl 22 set ref 95* 96* 96 97 interrupt_count 262 based fixed bin(71,0) level 2 dcl 1-11 ref 143 143 interrupt_time 260 based fixed bin(71,0) level 2 dcl 1-11 ref 142 142 ioa_ 000032 constant entry external dcl 32 ref 85 91 203 220 248 loading_idle 60 based fixed bin(71,0) level 2 dcl 1-11 ref 184 184 lock based structure level 1 dcl 2-12 loop_lock_time 156 based fixed bin(71,0) level 2 in structure "sst" dcl 3-9 in procedure "total_time_meters" ref 114 114 loop_lock_time 37 based fixed bin(18,0) level 2 in structure "tcm" dcl 1-11 in procedure "total_time_meters" ref 164 164 loop_locks 36 based fixed bin(18,0) level 2 in structure "tcm" dcl 1-11 in procedure "total_time_meters" ref 165 165 loop_locks 154 based fixed bin(17,0) level 2 in structure "sst" dcl 3-9 in procedure "total_time_meters" ref 115 115 meter_time 000107 automatic float bin(27) dcl 22 set ref 89* 97 99* 99 241 metering_time 000114 automatic fixed bin(71,0) dcl 23 set ref 75* metering_util_$define_regions 000034 constant entry external dcl 34 ref 49 metering_util_$fill_buffers 000036 constant entry external dcl 35 ref 75 metering_util_$reset 000040 constant entry external dcl 36 ref 213 mp_idle 26 based fixed bin(71,0) level 2 dcl 1-11 ref 178 178 name parameter char unaligned dcl 227 set ref 225 234 234 248* 253 ni_meter_time 000110 automatic float bin(27) dcl 22 set ref 97* 100* 100 242 ni_pc 000105 automatic float bin(27) dcl 22 set ref 242* 245 248* ni_sum 000101 automatic float bin(27) dcl 22 set ref 102* 201* 203* 245* 245 nisw 000150 automatic bit(1) initial dcl 230 set ref 230* 234* 245 248* nmp_idle 30 based fixed bin(71,0) level 2 dcl 1-11 ref 96 96 187 187 pc 000104 automatic float bin(27) dcl 22 set ref 241* 244 248* pf_unlock_ptl_meterings 532 based fixed bin(17,0) level 2 dcl 3-9 ref 119 119 pf_unlock_ptl_time 530 based fixed bin(71,0) level 2 dcl 3-9 ref 118 118 post_purge_calls 167 based fixed bin(17,0) level 2 dcl 3-9 ref 169 169 post_purge_time 12 based fixed bin(71,0) level 2 dcl 3-9 ref 168 168 previous_ptrs 000126 automatic pointer array dcl 26 set ref 75* 81 82 processor_time 42 based fixed bin(71,0) level 2 dcl 1-11 ref 89 89 prt_sw 000137 automatic bit(1) initial dcl 38 set ref 38* 195* 208* 248 repsw 000136 automatic bit(1) initial unaligned dcl 30 set ref 30* 64* 71* 87 rsw 000135 automatic bit(1) initial unaligned dcl 30 set ref 30* 63* 64* 71 211 size builtin function dcl 41 ref 49 49 sst based structure level 1 dcl 3-9 ref 49 49 sstp automatic pointer dcl 3-7 ref 49 49 sstp1 000012 internal static pointer dcl 20 set ref 82* 114 115 118 119 128 129 135 136 168 169 sstp2 000014 internal static pointer dcl 20 set ref 84* 114 115 118 119 128 129 135 136 168 169 sum 000100 automatic float bin(27) dcl 22 set ref 102* 201 201* 203* 244* 244 sum_sw 000146 automatic bit(1) dcl 228 set ref 232* 243 255* system_virtual_time 400 based fixed bin(71,0) level 2 dcl 1-11 ref 196 196 tcdp1 000016 internal static pointer dcl 20 set ref 81* 89 95 96 109 110 142 143 154 160 161 164 165 178 181 184 187 190 196 tcdp2 000020 internal static pointer dcl 20 set ref 83* 89 95 96 109 110 142 143 154 160 161 164 165 178 181 184 187 190 196 tcm based structure level 1 dcl 1-11 time 000106 automatic float bin(27) dcl 22 set ref 109* 112 114* 118* 122 128* 131 135* 138 142* 145 154* 155* 155 160* 164* 168* 178* 181* 184* 187* 190* 196* 240 241 242 total_bf 250 based fixed bin(17,0) level 2 dcl 3-9 ref 136 136 total_sf 163 based fixed bin(17,0) level 2 dcl 3-9 ref 129 129 unique 000022 internal static fixed bin(17,0) initial dcl 37 set ref 48 49* 75* 213* wct_entry based structure level 1 dcl 1-260 work_class_idle based fixed bin(71,0) level 2 dcl 1-11 ref 181 181 zero_idle 32 based fixed bin(71,0) level 2 dcl 1-11 ref 95 95 190 190 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. lock_ptr automatic pointer dcl 2-11 sst_seg$ external static fixed bin(17,0) dcl 3-6 tcmp automatic pointer dcl 1-9 wctep automatic pointer dcl 1-258 NAMES DECLARED BY EXPLICIT CONTEXT. endargs 000476 constant label dcl 71 ref 62 prt 001512 constant entry internal dcl 225 ref 111 121 130 137 144 156 179 182 185 188 191 197 209 prt_common 001526 constant label dcl 234 ref 256 prt_no_sum 001643 constant entry internal dcl 253 ref 116 162 166 170 reset_code 001425 constant label dcl 211 ref 87 total_time_meters 000231 constant entry external dcl 18 ttm 000241 constant entry external dcl 18 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2076 2142 1754 2106 Length 2420 1754 44 241 121 14 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME total_time_meters 206 external procedure is an external procedure. prt internal procedure shares stack frame of external procedure total_time_meters. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 argp total_time_meters 000012 sstp1 total_time_meters 000014 sstp2 total_time_meters 000016 tcdp1 total_time_meters 000020 tcdp2 total_time_meters 000022 unique total_time_meters STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME total_time_meters 000100 sum total_time_meters 000101 ni_sum total_time_meters 000102 ave_time total_time_meters 000103 count total_time_meters 000104 pc total_time_meters 000105 ni_pc total_time_meters 000106 time total_time_meters 000107 meter_time total_time_meters 000110 ni_meter_time total_time_meters 000111 idle total_time_meters 000112 fault_int_time total_time_meters 000114 metering_time total_time_meters 000116 formatted_time total_time_meters 000122 current_ptrs total_time_meters 000126 previous_ptrs total_time_meters 000132 argl total_time_meters 000133 i total_time_meters 000134 code total_time_meters 000135 rsw total_time_meters 000136 repsw total_time_meters 000137 prt_sw total_time_meters 000146 sum_sw prt 000147 avesw prt 000150 nisw prt THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr ioa_ metering_util_$define_regions metering_util_$fill_buffers metering_util_$reset THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt CONSTANTS 001660 aa 000002000000 001661 aa 000002000000 001662 aa 600000000041 001663 aa 000156000000 001664 ta 000037000000 001665 aa 000000000000 001666 aa 000002000000 001667 aa 000002000000 001670 aa 600000000041 001671 aa 000156000000 001672 ta 000013000000 001673 aa 000000000000 001674 aa 000002000000 001675 aa 000002000000 001676 aa 600000000041 001677 aa 000156000000 001700 ta 000014000000 001701 aa 000000000000 001702 aa 000002000000 001703 aa 000002000000 001704 aa 600000000041 001705 aa 000152000000 001706 ta 000041000000 001707 aa 000000000000 001710 aa 000002000000 001711 aa 000002000000 001712 aa 600000000041 001713 aa 000156000000 001714 ta 000015000000 001715 aa 000000000000 001716 aa 000002000000 001717 aa 000002000000 001720 aa 600000000041 001721 aa 000156000000 001722 ta 000016000000 001723 aa 000000000000 001724 aa 000002000000 001725 aa 000002000000 001726 aa 600000000041 001727 aa 000156000000 001730 ta 000017000000 001731 aa 000000000000 001732 aa 000002000000 001733 aa 000002000000 001734 aa 600000000041 001735 aa 000152000000 001736 ta 000020000000 001737 aa 000000000000 001740 aa 000002000000 001741 aa 000002000000 001742 aa 600000000041 001743 aa 000156000000 001744 ta 000021000000 001745 aa 000000000000 001746 aa 000002000000 001747 aa 000002000000 001750 aa 600000000041 001751 aa 000156000000 001752 ta 000022000000 001753 aa 000000000000 000000 aa 164 157 164 141 tota 000001 aa 154 137 164 151 l_ti 000002 aa 155 145 137 155 me_m 000003 aa 145 164 145 162 eter 000004 aa 163 000 000 000 s 000005 aa 514000000001 000006 aa 524000000046 000007 aa 526077777777 000010 aa 524000000001 000011 aa 414000000033 000012 aa 524000000034 000013 aa 524000000011 000014 aa 524000000017 000015 aa 524000000015 000016 aa 524000000014 000017 aa 524000000012 000020 aa 524000000010 000021 aa 524000000016 000022 aa 524000000013 000023 aa 524000000025 000024 aa 526000000012 000025 aa 410000000107 000026 aa 526000000000 000027 aa 164 164 155 000 ttm 000030 aa 055 162 162 000 -rr 000031 aa 055 162 163 000 -rs 000032 aa 524000000032 000033 aa 526000000021 000034 aa 404000000030 000035 aa 524000000003 000036 aa 163 163 164 000 sst 000037 aa 524000000020 000040 aa 404000000005 000041 aa 524000000007 000042 aa 404000000043 000043 aa 404000000021 000044 aa 116 115 120 040 NMP 000045 aa 111 144 154 145 Idle 000046 aa 115 120 040 111 MP I 000047 aa 144 154 145 000 dle 000050 aa 040 107 145 164 Get 000051 aa 167 157 162 153 work 000052 aa 120 103 040 121 PC Q 000053 aa 165 145 165 145 ueue 000054 aa 055 162 145 163 -res 000055 aa 145 164 000 000 et 000056 aa 164 143 137 144 tc_d 000057 aa 141 164 141 000 ata 000060 aa 122 145 163 145 Rese 000061 aa 164 164 151 156 ttin 000062 aa 147 056 000 000 g. 000063 aa 132 145 162 157 Zero 000064 aa 040 111 144 154 Idl 000065 aa 145 000 000 000 e 000066 aa 114 157 141 144 Load 000067 aa 151 156 147 040 ing 000070 aa 111 144 154 145 Idle 000071 aa 117 164 150 145 Othe 000072 aa 162 040 106 141 r Fa 000073 aa 165 154 164 000 ult 000074 aa 111 156 164 145 Inte 000075 aa 162 162 165 160 rrup 000076 aa 164 163 000 000 ts 000077 aa 102 157 165 156 Boun 000100 aa 144 040 106 141 d Fa 000101 aa 165 154 164 163 ults 000102 aa 123 145 147 040 Seg 000103 aa 106 141 165 154 Faul 000104 aa 164 163 000 000 ts 000105 aa 120 141 147 145 Page 000106 aa 040 106 141 165 Fau 000107 aa 154 164 163 000 lts 000110 aa 126 151 162 164 Virt 000111 aa 165 141 154 040 ual 000112 aa 103 120 125 040 CPU 000113 aa 124 151 155 145 Time 000114 aa 127 157 162 153 Work 000115 aa 040 103 154 141 Cla 000116 aa 163 163 040 111 ss I 000117 aa 144 154 145 000 dle 000120 aa 040 120 157 163 Pos 000121 aa 164 040 120 165 t Pu 000122 aa 162 147 151 156 rgin 000123 aa 147 000 000 000 g 000124 aa 040 124 103 040 TC 000125 aa 114 157 157 160 Loop 000126 aa 040 114 157 143 Loc 000127 aa 153 163 000 000 ks 000130 aa 040 120 103 040 PC 000131 aa 114 157 157 160 Loop 000132 aa 040 114 157 143 Loc 000133 aa 153 163 000 000 ks 000134 aa 106 151 154 154 Fill 000135 aa 151 156 147 040 ing 000136 aa 142 165 146 146 buff 000137 aa 145 162 163 056 ers. 000140 aa 464100000000 000141 aa 000000000001 000142 aa 000000000002 000143 aa 000000000002 000144 aa 055 162 145 160 -rep 000145 aa 157 162 164 137 ort_ 000146 aa 162 145 163 145 rese 000147 aa 164 000 000 000 t 000150 aa 167 157 162 153 work 000151 aa 137 143 154 141 _cla 000152 aa 163 163 137 164 ss_t 000153 aa 141 142 154 145 able 000154 aa 136 062 061 164 ^21t 000155 aa 045 136 062 067 %^27 000156 aa 164 045 116 111 t%NI 000157 aa 136 063 066 164 ^36t 000160 aa 101 126 105 136 AVE^ 000161 aa 057 000 000 000 / 000162 aa 117 164 150 145 Othe 000163 aa 162 040 117 166 r Ov 000164 aa 145 162 150 145 erhe 000165 aa 141 144 136 061 ad^1 000166 aa 067 164 136 066 7t^6 000167 aa 056 062 146 136 .2f^ 000170 aa 067 056 062 146 7.2f 000171 aa 136 057 124 157 ^/To 000172 aa 164 141 154 040 tal 000173 aa 155 145 164 145 mete 000174 aa 162 151 156 147 ring 000175 aa 040 164 151 155 tim 000176 aa 145 040 136 141 e ^a 000177 aa 136 057 000 000 ^/ 000200 aa 104 145 146 151 Defi 000201 aa 156 151 156 147 ning 000202 aa 040 155 145 164 met 000203 aa 145 162 151 156 erin 000204 aa 147 040 162 145 g re 000205 aa 147 151 157 156 gion 000206 aa 163 056 000 000 s. 000207 aa 136 141 136 061 ^a^1 000210 aa 067 164 136 066 7t^6 000211 aa 056 062 146 136 .2f^ 000212 aa 133 136 067 056 [^7. 000213 aa 062 146 136 073 2f^; 000214 aa 136 163 136 135 ^s^] 000215 aa 136 133 136 061 ^[^1 000216 aa 062 056 063 146 2.3f 000217 aa 136 073 136 163 ^;^s 000220 aa 136 135 000 000 ^] BEGIN PROCEDURE total_time_meters PROLOGUE SEQUENCE 000221 aa 6 00151 4401 00 sxl0 pr6|105 STATEMENT 1 ON LINE 30 000222 aa 6 00135 4501 00 stz pr6|93 rsw 000223 aa 6 00136 4501 00 stz pr6|94 repsw STATEMENT 1 ON LINE 38 000224 aa 400000 2350 03 lda 131072,du 000225 aa 6 00137 7551 00 sta pr6|95 prt_sw 000226 aa 6 00151 7201 00 lxl0 pr6|105 000227 aa 000000 7100 10 tra 0,0 MAIN SEQUENCE ENTRY TO total_time_meters STATEMENT 1 ON LINE 18 ttm: total_time_meters: proc; 000230 da 000111200000 000231 aa 000320 6270 00 eax7 208 000232 aa 7 00034 3521 20 epp2 pr7|28,* 000233 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000234 aa 000000000000 000235 aa 000000000000 000236 aa 777763 7000 04 tsx0 -13,ic 000221 000237 aa 000010 7100 04 tra 8,ic 000247 ENTRY TO ttm STATEMENT 1 ON LINE 18 ttm: total_time_meters: proc; 000240 da 000115200000 000241 aa 000320 6270 00 eax7 208 000242 aa 7 00034 3521 20 epp2 pr7|28,* 000243 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000244 aa 000000000000 000245 aa 000000000000 000246 aa 777753 7000 04 tsx0 -21,ic 000221 STATEMENT 1 ON LINE 48 if unique = 0 then do; 000247 aa 6 00044 3701 20 epp4 pr6|36,* 000250 ia 4 00022 2361 00 ldq pr4|18 unique 000251 aa 000107 6010 04 tnz 71,ic 000360 STATEMENT 1 ON LINE 49 call metering_util_$define_regions (unique, code, "tc_data", 0, "work_class_table", "sst", 0, size (sst)); 000252 aa 777604 2370 04 ldaq -124,ic 000056 = 164143137144 141164141000 000253 aa 6 00152 7571 00 staq pr6|106 000254 aa 6 00154 4501 00 stz pr6|108 000255 aa 777673 2370 04 ldaq -69,ic 000150 = 167157162153 137143154141 000256 aa 6 00156 7571 00 staq pr6|110 000257 aa 777673 2370 04 ldaq -69,ic 000152 = 163163137164 141142154145 000260 aa 6 00160 7571 00 staq pr6|112 000261 aa 777555 2350 04 lda -147,ic 000036 = 163163164000 000262 aa 6 00155 7551 00 sta pr6|109 000263 aa 6 00162 4501 00 stz pr6|114 000264 aa 001000 2360 07 ldq 512,dl 000265 aa 6 00163 7561 00 stq pr6|115 000266 ia 4 00022 3521 00 epp2 pr4|18 unique 000267 aa 6 00166 2521 00 spri2 pr6|118 000270 aa 6 00134 3521 00 epp2 pr6|92 code 000271 aa 6 00170 2521 00 spri2 pr6|120 000272 aa 6 00152 3521 00 epp2 pr6|106 000273 aa 6 00172 2521 00 spri2 pr6|122 000274 aa 6 00154 3521 00 epp2 pr6|108 000275 aa 6 00174 2521 00 spri2 pr6|124 000276 aa 6 00156 3521 00 epp2 pr6|110 000277 aa 6 00176 2521 00 spri2 pr6|126 000300 aa 6 00155 3521 00 epp2 pr6|109 000301 aa 6 00200 2521 00 spri2 pr6|128 000302 aa 6 00162 3521 00 epp2 pr6|114 000303 aa 6 00202 2521 00 spri2 pr6|130 000304 aa 6 00163 3521 00 epp2 pr6|115 000305 aa 6 00204 2521 00 spri2 pr6|132 000306 aa 777535 3520 04 epp2 -163,ic 000043 = 404000000021 000307 aa 6 00206 2521 00 spri2 pr6|134 000310 aa 777532 3520 04 epp2 -166,ic 000042 = 404000000043 000311 aa 6 00210 2521 00 spri2 pr6|136 000312 aa 777527 3520 04 epp2 -169,ic 000041 = 524000000007 000313 aa 6 00212 2521 00 spri2 pr6|138 000314 aa 777524 3520 04 epp2 -172,ic 000040 = 404000000005 000315 aa 6 00214 2521 00 spri2 pr6|140 000316 aa 6 00222 2521 00 spri2 pr6|146 000317 aa 777520 3520 04 epp2 -176,ic 000037 = 524000000020 000320 aa 6 00216 2521 00 spri2 pr6|142 000321 aa 777514 3520 04 epp2 -180,ic 000035 = 524000000003 000322 aa 6 00220 2521 00 spri2 pr6|144 000323 aa 777511 3520 04 epp2 -183,ic 000034 = 404000000030 000324 aa 6 00224 2521 00 spri2 pr6|148 000325 aa 6 00164 6211 00 eax1 pr6|116 000326 aa 040000 4310 07 fld 16384,dl 000327 la 4 00034 3521 20 epp2 pr4|28,* metering_util_$define_regions 000330 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 52 if code ^= 0 then do; 000331 aa 6 00134 2361 00 ldq pr6|92 code 000332 aa 000026 6000 04 tze 22,ic 000360 STATEMENT 1 ON LINE 53 call com_err_ (code, MYNAME, "Defining metering regions."); 000333 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000334 aa 777645 00 0034 desc9a -91,28 000200 = 104145146151 000335 aa 6 00164 00 0034 desc9a pr6|116,28 000336 aa 6 00134 3521 00 epp2 pr6|92 code 000337 aa 6 00230 2521 00 spri2 pr6|152 000340 aa 777440 3520 04 epp2 -224,ic 000000 = 164157164141 000341 aa 6 00232 2521 00 spri2 pr6|154 000342 aa 6 00164 3521 00 epp2 pr6|116 000343 aa 6 00234 2521 00 spri2 pr6|156 000344 aa 777476 3520 04 epp2 -194,ic 000042 = 404000000043 000345 aa 6 00236 2521 00 spri2 pr6|158 000346 aa 777465 3520 04 epp2 -203,ic 000033 = 526000000021 000347 aa 6 00240 2521 00 spri2 pr6|160 000350 aa 777462 3520 04 epp2 -206,ic 000032 = 524000000032 000351 aa 6 00242 2521 00 spri2 pr6|162 000352 aa 6 00226 6211 00 eax1 pr6|150 000353 aa 014000 4310 07 fld 6144,dl 000354 aa 6 00044 3701 20 epp4 pr6|36,* 000355 la 4 00024 3521 20 epp2 pr4|20,* com_err_ 000356 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 54 return; 000357 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 55 end; STATEMENT 1 ON LINE 56 end; STATEMENT 1 ON LINE 60 do i = 1 to cu_$arg_count (); 000360 aa 6 00163 3521 00 epp2 pr6|115 000361 aa 6 00160 2521 00 spri2 pr6|112 000362 aa 6 00156 6211 00 eax1 pr6|110 000363 aa 004000 4310 07 fld 2048,dl 000364 aa 6 00044 3701 20 epp4 pr6|36,* 000365 la 4 00026 3521 20 epp2 pr4|22,* cu_$arg_count 000366 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000367 aa 000001 2360 07 ldq 1,dl 000370 aa 6 00133 7561 00 stq pr6|91 i 000371 aa 000000 0110 03 nop 0,du 000372 aa 6 00133 2361 00 ldq pr6|91 i 000373 aa 6 00163 1161 00 cmpq pr6|115 000374 aa 000102 6054 04 tpnz 66,ic 000476 STATEMENT 1 ON LINE 61 call cu_$arg_ptr (i, argp, argl, code); 000375 aa 6 00133 3521 00 epp2 pr6|91 i 000376 aa 6 00230 2521 00 spri2 pr6|152 000377 aa 6 00044 3701 20 epp4 pr6|36,* 000400 ia 4 00010 3521 00 epp2 pr4|8 argp 000401 aa 6 00232 2521 00 spri2 pr6|154 000402 aa 6 00132 3521 00 epp2 pr6|90 argl 000403 aa 6 00234 2521 00 spri2 pr6|156 000404 aa 6 00134 3521 00 epp2 pr6|92 code 000405 aa 6 00236 2521 00 spri2 pr6|158 000406 aa 6 00226 6211 00 eax1 pr6|150 000407 aa 020000 4310 07 fld 8192,dl 000410 la 4 00030 3521 20 epp2 pr4|24,* cu_$arg_ptr 000411 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 62 if code ^= 0 then go to endargs; 000412 aa 6 00134 2361 00 ldq pr6|92 code 000413 aa 000063 6010 04 tnz 51,ic 000476 STATEMENT 1 ON LINE 63 if arg = "-reset" | arg = "-rs" then rsw = "1"b; 000414 aa 6 00044 3701 20 epp4 pr6|36,* 000415 ia 4 00010 3735 20 epp7 pr4|8,* argp 000416 aa 6 00132 7271 00 lxl7 pr6|90 argl 000417 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000420 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000421 aa 777435 00 0006 desc9a -227,6 000054 = 055162145163 000422 aa 000005 6000 04 tze 5,ic 000427 000423 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000424 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000425 aa 777406 00 0003 desc9a -250,3 000031 = 055162163000 000426 aa 000004 6010 04 tnz 4,ic 000432 000427 aa 400000 2350 03 lda 131072,du 000430 aa 6 00135 7551 00 sta pr6|93 rsw 000431 aa 000043 7100 04 tra 35,ic 000474 STATEMENT 1 ON LINE 64 else if arg = "-report_reset" | arg = "-rr" then rsw, repsw = "1"b; 000432 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000433 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000434 aa 777512 00 0015 desc9a -182,13 000144 = 055162145160 000435 aa 000005 6000 04 tze 5,ic 000442 000436 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000437 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000440 aa 777372 00 0003 desc9a -262,3 000030 = 055162162000 000441 aa 000005 6010 04 tnz 5,ic 000446 000442 aa 400000 2350 03 lda 131072,du 000443 aa 6 00135 7551 00 sta pr6|93 rsw 000444 aa 6 00136 7551 00 sta pr6|94 repsw 000445 aa 000027 7100 04 tra 23,ic 000474 STATEMENT 1 ON LINE 65 else do; STATEMENT 1 ON LINE 66 call com_err_ (error_table_$badopt, "ttm", arg); 000446 aa 6 00132 2361 00 ldq pr6|90 argl 000447 aa 526000 2760 03 orq 175104,du 000450 aa 6 00162 7561 00 stq pr6|114 000451 aa 777356 2350 04 lda -274,ic 000027 = 164164155000 000452 aa 6 00155 7551 00 sta pr6|109 000453 la 4 00042 3521 20 epp2 pr4|34,* error_table_$badopt 000454 aa 6 00230 2521 00 spri2 pr6|152 000455 aa 6 00155 3521 00 epp2 pr6|109 000456 aa 6 00232 2521 00 spri2 pr6|154 000457 aa 7 00000 3521 00 epp2 pr7|0 arg 000460 aa 6 00234 2521 00 spri2 pr6|156 000461 aa 777361 3520 04 epp2 -271,ic 000042 = 404000000043 000462 aa 6 00236 2521 00 spri2 pr6|158 000463 aa 777352 3520 04 epp2 -278,ic 000035 = 524000000003 000464 aa 6 00240 2521 00 spri2 pr6|160 000465 aa 6 00162 3521 00 epp2 pr6|114 000466 aa 6 00242 2521 00 spri2 pr6|162 000467 aa 6 00226 6211 00 eax1 pr6|150 000470 aa 014000 4310 07 fld 6144,dl 000471 la 4 00024 3521 20 epp2 pr4|20,* com_err_ 000472 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 67 return; 000473 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 68 end; STATEMENT 1 ON LINE 69 end; 000474 aa 6 00133 0541 00 aos pr6|91 i 000475 aa 777675 7100 04 tra -67,ic 000372 STATEMENT 1 ON LINE 71 endargs: if ^rsw then repsw = "1"b; 000476 aa 6 00135 2351 00 lda pr6|93 rsw 000477 aa 000003 6010 04 tnz 3,ic 000502 000500 aa 400000 2350 03 lda 131072,du 000501 aa 6 00136 7551 00 sta pr6|94 repsw STATEMENT 1 ON LINE 75 call metering_util_$fill_buffers (unique, metering_time, formatted_time, current_ptrs, previous_ptrs, code); 000502 aa 6 00044 3701 20 epp4 pr6|36,* 000503 ia 4 00022 3521 00 epp2 pr4|18 unique 000504 aa 6 00166 2521 00 spri2 pr6|118 000505 aa 6 00114 3521 00 epp2 pr6|76 metering_time 000506 aa 6 00170 2521 00 spri2 pr6|120 000507 aa 6 00116 3521 00 epp2 pr6|78 formatted_time 000510 aa 6 00172 2521 00 spri2 pr6|122 000511 aa 6 00122 3521 00 epp2 pr6|82 current_ptrs 000512 aa 6 00174 2521 00 spri2 pr6|124 000513 aa 6 00126 3521 00 epp2 pr6|86 previous_ptrs 000514 aa 6 00176 2521 00 spri2 pr6|126 000515 aa 6 00134 3521 00 epp2 pr6|92 code 000516 aa 6 00200 2521 00 spri2 pr6|128 000517 aa 777324 3520 04 epp2 -300,ic 000043 = 404000000021 000520 aa 6 00202 2521 00 spri2 pr6|130 000521 aa 777304 3520 04 epp2 -316,ic 000025 = 410000000107 000522 aa 6 00204 2521 00 spri2 pr6|132 000523 aa 777301 3520 04 epp2 -319,ic 000024 = 526000000012 000524 aa 6 00206 2521 00 spri2 pr6|134 000525 aa 777413 3520 04 epp2 -245,ic 000140 = 464100000000 000526 aa 6 00210 2521 00 spri2 pr6|136 000527 aa 6 00212 2521 00 spri2 pr6|138 000530 aa 777312 3520 04 epp2 -310,ic 000042 = 404000000043 000531 aa 6 00214 2521 00 spri2 pr6|140 000532 aa 6 00164 6211 00 eax1 pr6|116 000533 aa 030000 4310 07 fld 12288,dl 000534 la 4 00036 3521 20 epp2 pr4|30,* metering_util_$fill_buffers 000535 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 77 if code^=0 then do; 000536 aa 6 00134 2361 00 ldq pr6|92 code 000537 aa 000027 6000 04 tze 23,ic 000566 STATEMENT 1 ON LINE 78 call com_err_ (code, MYNAME, "Filling buffers."); 000540 aa 777374 2370 04 ldaq -260,ic 000134 = 106151154154 151156147040 000541 aa 6 00156 7571 00 staq pr6|110 000542 aa 777374 2370 04 ldaq -260,ic 000136 = 142165146146 145162163056 000543 aa 6 00160 7571 00 staq pr6|112 000544 aa 6 00134 3521 00 epp2 pr6|92 code 000545 aa 6 00230 2521 00 spri2 pr6|152 000546 aa 777232 3520 04 epp2 -358,ic 000000 = 164157164141 000547 aa 6 00232 2521 00 spri2 pr6|154 000550 aa 6 00156 3521 00 epp2 pr6|110 000551 aa 6 00234 2521 00 spri2 pr6|156 000552 aa 777270 3520 04 epp2 -328,ic 000042 = 404000000043 000553 aa 6 00236 2521 00 spri2 pr6|158 000554 aa 777257 3520 04 epp2 -337,ic 000033 = 526000000021 000555 aa 6 00240 2521 00 spri2 pr6|160 000556 aa 777261 3520 04 epp2 -335,ic 000037 = 524000000020 000557 aa 6 00242 2521 00 spri2 pr6|162 000560 aa 6 00226 6211 00 eax1 pr6|150 000561 aa 014000 4310 07 fld 6144,dl 000562 aa 6 00044 3701 20 epp4 pr6|36,* 000563 la 4 00024 3521 20 epp2 pr4|20,* com_err_ 000564 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 79 return; 000565 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 80 end; STATEMENT 1 ON LINE 81 tcdp1 = previous_ptrs (1); 000566 aa 6 00126 3735 20 epp7 pr6|86,* previous_ptrs 000567 aa 6 00044 3701 20 epp4 pr6|36,* 000570 ia 4 00016 6535 00 spri7 pr4|14 tcdp1 STATEMENT 1 ON LINE 82 sstp1 = previous_ptrs (2); 000571 aa 6 00130 3715 20 epp5 pr6|88,* previous_ptrs 000572 ia 4 00012 6515 00 spri5 pr4|10 sstp1 STATEMENT 1 ON LINE 83 tcdp2 = current_ptrs (1); 000573 aa 6 00122 3535 20 epp3 pr6|82,* current_ptrs 000574 ia 4 00020 2535 00 spri3 pr4|16 tcdp2 STATEMENT 1 ON LINE 84 sstp2 = current_ptrs (2); 000575 aa 6 00124 3515 20 epp1 pr6|84,* current_ptrs 000576 ia 4 00014 2515 00 spri1 pr4|12 sstp2 STATEMENT 1 ON LINE 85 call ioa_ ("^/Total metering time ^a^/", formatted_time); 000577 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000600 aa 777372 00 0034 desc9a -262,28 000171 = 136057124157 000601 aa 6 00226 00 0034 desc9a pr6|150,28 000602 aa 6 00226 3521 00 epp2 pr6|150 000603 aa 6 00166 2521 00 spri2 pr6|118 000604 aa 6 00116 3521 00 epp2 pr6|78 formatted_time 000605 aa 6 00170 2521 00 spri2 pr6|120 000606 aa 777224 3520 04 epp2 -364,ic 000032 = 524000000032 000607 aa 6 00172 2521 00 spri2 pr6|122 000610 aa 777214 3520 04 epp2 -372,ic 000024 = 526000000012 000611 aa 6 00174 2521 00 spri2 pr6|124 000612 aa 6 00164 6211 00 eax1 pr6|116 000613 aa 010000 4310 07 fld 4096,dl 000614 la 4 00032 3521 20 epp2 pr4|26,* ioa_ 000615 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 87 if ^repsw then go to reset_code; 000616 aa 6 00136 2351 00 lda pr6|94 repsw 000617 aa 000606 6000 04 tze 390,ic 001425 STATEMENT 1 ON LINE 89 meter_time = tcdp2 -> tcm.processor_time - tcdp1 -> tcm.processor_time; 000620 aa 6 00044 3701 20 epp4 pr6|36,* 000621 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 000622 aa 7 00042 2371 00 ldaq pr7|34 tcm.processor_time 000623 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 000624 aa 5 00042 1771 00 sbaq pr5|34 tcm.processor_time 000625 aa 216000 4110 03 lde 72704,du 000626 aa 400000 4750 03 fad 131072,du 000627 aa 6 00107 4551 00 fst pr6|71 meter_time STATEMENT 1 ON LINE 91 call ioa_ ("^21t%^27t%NI^36tAVE^/"); 000630 aa 777324 2370 04 ldaq -300,ic 000154 = 136062061164 045136062067 000631 aa 6 00226 7571 00 staq pr6|150 000632 aa 777324 2370 04 ldaq -300,ic 000156 = 164045116111 136063066164 000633 aa 6 00230 7571 00 staq pr6|152 000634 aa 777324 2370 04 ldaq -300,ic 000160 = 101126105136 057000000000 000635 aa 6 00232 7571 00 staq pr6|154 000636 aa 6 00226 3521 00 epp2 pr6|150 000637 aa 6 00166 2521 00 spri2 pr6|118 000640 aa 777163 3520 04 epp2 -397,ic 000023 = 524000000025 000641 aa 6 00170 2521 00 spri2 pr6|120 000642 aa 6 00164 6211 00 eax1 pr6|116 000643 aa 004000 4310 07 fld 2048,dl 000644 la 4 00032 3521 20 epp2 pr4|26,* ioa_ 000645 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 95 idle = tcdp2 -> tcm.zero_idle - tcdp1 -> tcm.zero_idle; 000646 aa 6 00044 3701 20 epp4 pr6|36,* 000647 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 000650 aa 7 00032 2371 00 ldaq pr7|26 tcm.zero_idle 000651 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 000652 aa 5 00032 1771 00 sbaq pr5|26 tcm.zero_idle 000653 aa 216000 4110 03 lde 72704,du 000654 aa 400000 4750 03 fad 131072,du 000655 aa 6 00111 4551 00 fst pr6|73 idle STATEMENT 1 ON LINE 96 idle = idle + tcdp2 -> tcm.nmp_idle - tcdp1 -> tcm.nmp_idle; 000656 aa 5 00030 2371 00 ldaq pr5|24 tcm.nmp_idle 000657 aa 216000 4110 03 lde 72704,du 000660 aa 400000 4750 03 fad 131072,du 000661 aa 6 00152 4571 00 dfst pr6|106 000662 aa 7 00030 2371 00 ldaq pr7|24 tcm.nmp_idle 000663 aa 216000 4110 03 lde 72704,du 000664 aa 400000 4750 03 fad 131072,du 000665 aa 6 00111 4751 00 fad pr6|73 idle 000666 aa 6 00152 5771 00 dfsb pr6|106 000667 aa 6 00111 4551 00 fst pr6|73 idle STATEMENT 1 ON LINE 97 ni_meter_time = meter_time - idle; 000670 aa 6 00107 4311 00 fld pr6|71 meter_time 000671 aa 6 00111 5751 00 fsb pr6|73 idle 000672 aa 6 00110 4551 00 fst pr6|72 ni_meter_time STATEMENT 1 ON LINE 99 meter_time = meter_time/100e0; 000673 aa 6 00107 4311 00 fld pr6|71 meter_time 000674 aa 016620 5650 03 fdv 7568,du 000675 aa 6 00107 4551 00 fst pr6|71 meter_time STATEMENT 1 ON LINE 100 ni_meter_time = ni_meter_time/100e0; 000676 aa 6 00110 4311 00 fld pr6|72 ni_meter_time 000677 aa 016620 5650 03 fdv 7568,du 000700 aa 6 00110 4551 00 fst pr6|72 ni_meter_time STATEMENT 1 ON LINE 102 sum, ni_sum = 100e0; 000701 aa 016620 4310 03 fld 7568,du 000702 aa 6 00100 4551 00 fst pr6|64 sum 000703 aa 6 00101 4551 00 fst pr6|65 ni_sum STATEMENT 1 ON LINE 105 fault_int_time = 0; 000704 aa 400000 4310 03 fld 131072,du 000705 aa 6 00112 4551 00 fst pr6|74 fault_int_time STATEMENT 1 ON LINE 109 time = tcdp2 -> tcm.cpu_pf_time - tcdp1 -> tcm.cpu_pf_time; 000706 aa 7 00250 2371 00 ldaq pr7|168 tcm.cpu_pf_time 000707 aa 5 00250 1771 00 sbaq pr5|168 tcm.cpu_pf_time 000710 aa 216000 4110 03 lde 72704,du 000711 aa 400000 4750 03 fad 131072,du 000712 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 110 count = tcdp2 -> tcm.cpu_pf_count - tcdp1 -> tcm.cpu_pf_count; 000713 aa 7 00252 2361 00 ldq pr7|170 tcm.cpu_pf_count 000714 aa 5 00252 1761 00 sbq pr5|170 tcm.cpu_pf_count 000715 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 000716 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 111 call prt ("Page Faults"); 000717 aa 777166 2350 04 lda -394,ic 000105 = 120141147145 000720 aa 777166 2360 04 ldq -394,ic 000106 = 040106141165 000721 aa 6 00156 7571 00 staq pr6|110 000722 aa 777165 2350 04 lda -395,ic 000107 = 154164163000 000723 aa 6 00160 7551 00 sta pr6|112 000724 aa 001022 3520 04 epp2 530,ic 001746 = 000002000000 000725 aa 2 00000 2351 00 lda pr2|0 000726 aa 000564 6700 04 tsp4 372,ic 001512 STATEMENT 1 ON LINE 112 fault_int_time = fault_int_time + time; 000727 aa 6 00112 4311 00 fld pr6|74 fault_int_time 000730 aa 6 00106 4751 00 fad pr6|70 time 000731 aa 6 00112 4551 00 fst pr6|74 fault_int_time STATEMENT 1 ON LINE 114 time = sstp2 -> sst.loop_lock_time - sstp1 -> sst.loop_lock_time; 000732 aa 6 00044 3701 20 epp4 pr6|36,* 000733 ia 4 00014 3735 20 epp7 pr4|12,* sstp2 000734 aa 7 00156 2371 00 ldaq pr7|110 sst.loop_lock_time 000735 ia 4 00012 3715 20 epp5 pr4|10,* sstp1 000736 aa 5 00156 1771 00 sbaq pr5|110 sst.loop_lock_time 000737 aa 216000 4110 03 lde 72704,du 000740 aa 400000 4750 03 fad 131072,du 000741 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 115 count = sstp2 -> sst.loop_locks - sstp1 -> sst.loop_locks; 000742 aa 7 00154 2361 00 ldq pr7|108 sst.loop_locks 000743 aa 5 00154 1761 00 sbq pr5|108 sst.loop_locks 000744 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 000745 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 116 if count > 0 then call prt_no_sum (" PC Loop Locks"); 000746 aa 000010 6044 04 tmoz 8,ic 000756 000747 aa 777161 2370 04 ldaq -399,ic 000130 = 040120103040 114157157160 000750 aa 6 00156 7571 00 staq pr6|110 000751 aa 777161 2370 04 ldaq -399,ic 000132 = 040114157143 153163000000 000752 aa 6 00160 7571 00 staq pr6|112 000753 aa 000765 3520 04 epp2 501,ic 001740 = 000002000000 000754 aa 2 00000 2351 00 lda pr2|0 000755 aa 000666 6700 04 tsp4 438,ic 001643 STATEMENT 1 ON LINE 118 time = sstp2 -> sst.pf_unlock_ptl_time - sstp1 -> sst.pf_unlock_ptl_time; 000756 aa 6 00044 3701 20 epp4 pr6|36,* 000757 ia 4 00014 3735 20 epp7 pr4|12,* sstp2 000760 aa 7 00530 2371 00 ldaq pr7|344 sst.pf_unlock_ptl_time 000761 ia 4 00012 3715 20 epp5 pr4|10,* sstp1 000762 aa 5 00530 1771 00 sbaq pr5|344 sst.pf_unlock_ptl_time 000763 aa 216000 4110 03 lde 72704,du 000764 aa 400000 4750 03 fad 131072,du 000765 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 119 count = sstp2 -> sst.pf_unlock_ptl_meterings - sstp1 -> sst.pf_unlock_ptl_meterings; 000766 aa 7 00532 2361 00 ldq pr7|346 sst.pf_unlock_ptl_meterings 000767 aa 5 00532 1761 00 sbq pr5|346 sst.pf_unlock_ptl_meterings 000770 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 000771 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 120 if count > 0 then do; 000772 aa 000011 6044 04 tmoz 9,ic 001003 STATEMENT 1 ON LINE 121 call prt ("PC Queue"); 000773 aa 777057 2370 04 ldaq -465,ic 000052 = 120103040121 165145165145 000774 aa 6 00152 7571 00 staq pr6|106 000775 aa 000735 3520 04 epp2 477,ic 001732 = 000002000000 000776 aa 2 00000 2351 00 lda pr2|0 000777 aa 000513 6700 04 tsp4 331,ic 001512 STATEMENT 1 ON LINE 122 fault_int_time = fault_int_time + time; 001000 aa 6 00112 4311 00 fld pr6|74 fault_int_time 001001 aa 6 00106 4751 00 fad pr6|70 time 001002 aa 6 00112 4551 00 fst pr6|74 fault_int_time STATEMENT 1 ON LINE 123 end; STATEMENT 1 ON LINE 128 time = sstp2 -> sst.cpu_sf_time - sstp1 -> sst.cpu_sf_time; 001003 aa 6 00044 3701 20 epp4 pr6|36,* 001004 ia 4 00014 3735 20 epp7 pr4|12,* sstp2 001005 aa 7 00160 2371 00 ldaq pr7|112 sst.cpu_sf_time 001006 ia 4 00012 3715 20 epp5 pr4|10,* sstp1 001007 aa 5 00160 1771 00 sbaq pr5|112 sst.cpu_sf_time 001010 aa 216000 4110 03 lde 72704,du 001011 aa 400000 4750 03 fad 131072,du 001012 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 129 count = sstp2 -> sst.total_sf - sstp1 -> sst.total_sf; 001013 aa 7 00163 2361 00 ldq pr7|115 sst.total_sf 001014 aa 5 00163 1761 00 sbq pr5|115 sst.total_sf 001015 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001016 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 130 call prt ("Seg Faults"); 001017 aa 777063 2370 04 ldaq -461,ic 000102 = 123145147040 106141165154 001020 aa 6 00156 7571 00 staq pr6|110 001021 aa 164163 2350 03 lda 59507,du 001022 aa 6 00160 7551 00 sta pr6|112 001023 aa 000701 3520 04 epp2 449,ic 001724 = 000002000000 001024 aa 2 00000 2351 00 lda pr2|0 001025 aa 000465 6700 04 tsp4 309,ic 001512 STATEMENT 1 ON LINE 131 fault_int_time = fault_int_time + time; 001026 aa 6 00112 4311 00 fld pr6|74 fault_int_time 001027 aa 6 00106 4751 00 fad pr6|70 time 001030 aa 6 00112 4551 00 fst pr6|74 fault_int_time STATEMENT 1 ON LINE 135 time = sstp2 -> sst.cpu_bf_time - sstp1 -> sst.cpu_bf_time; 001031 aa 6 00044 3701 20 epp4 pr6|36,* 001032 ia 4 00014 3735 20 epp7 pr4|12,* sstp2 001033 aa 7 00252 2371 00 ldaq pr7|170 sst.cpu_bf_time 001034 ia 4 00012 3715 20 epp5 pr4|10,* sstp1 001035 aa 5 00252 1771 00 sbaq pr5|170 sst.cpu_bf_time 001036 aa 216000 4110 03 lde 72704,du 001037 aa 400000 4750 03 fad 131072,du 001040 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 136 count = sstp2 -> sst.total_bf - sstp1 -> sst.total_bf; 001041 aa 7 00250 2361 00 ldq pr7|168 sst.total_bf 001042 aa 5 00250 1761 00 sbq pr5|168 sst.total_bf 001043 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001044 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 137 call prt ("Bound Faults"); 001045 aa 777032 2350 04 lda -486,ic 000077 = 102157165156 001046 aa 777032 2360 04 ldq -486,ic 000100 = 144040106141 001047 aa 6 00156 7571 00 staq pr6|110 001050 aa 777031 2350 04 lda -487,ic 000101 = 165154164163 001051 aa 6 00160 7551 00 sta pr6|112 001052 aa 000644 3520 04 epp2 420,ic 001716 = 000002000000 001053 aa 2 00000 2351 00 lda pr2|0 001054 aa 000436 6700 04 tsp4 286,ic 001512 STATEMENT 1 ON LINE 138 fault_int_time = fault_int_time + time; 001055 aa 6 00112 4311 00 fld pr6|74 fault_int_time 001056 aa 6 00106 4751 00 fad pr6|70 time 001057 aa 6 00112 4551 00 fst pr6|74 fault_int_time STATEMENT 1 ON LINE 142 time = tcdp2 -> tcm.interrupt_time - tcdp1 -> tcm.interrupt_time; 001060 aa 6 00044 3701 20 epp4 pr6|36,* 001061 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001062 aa 7 00260 2371 00 ldaq pr7|176 tcm.interrupt_time 001063 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001064 aa 5 00260 1771 00 sbaq pr5|176 tcm.interrupt_time 001065 aa 216000 4110 03 lde 72704,du 001066 aa 400000 4750 03 fad 131072,du 001067 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 143 count = tcdp2 -> tcm.interrupt_count - tcdp1 -> tcm.interrupt_count; 001070 aa 7 00262 2371 00 ldaq pr7|178 tcm.interrupt_count 001071 aa 5 00262 1771 00 sbaq pr5|178 tcm.interrupt_count 001072 aa 216000 4110 03 lde 72704,du 001073 aa 400000 4750 03 fad 131072,du 001074 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 144 call prt ("Interrupts"); 001075 aa 776777 2370 04 ldaq -513,ic 000074 = 111156164145 162162165160 001076 aa 6 00156 7571 00 staq pr6|110 001077 aa 164163 2350 03 lda 59507,du 001100 aa 6 00160 7551 00 sta pr6|112 001101 aa 000623 3520 04 epp2 403,ic 001724 = 000002000000 001102 aa 2 00000 2351 00 lda pr2|0 001103 aa 000407 6700 04 tsp4 263,ic 001512 STATEMENT 1 ON LINE 145 fault_int_time = fault_int_time + time; 001104 aa 6 00112 4311 00 fld pr6|74 fault_int_time 001105 aa 6 00106 4751 00 fad pr6|70 time 001106 aa 6 00112 4551 00 fst pr6|74 fault_int_time STATEMENT 1 ON LINE 149 count = -1e0; 001107 aa 001000 4310 03 fld 512,du 001110 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 154 time = tcdp2 -> tcm.delta_vcpu - tcdp1 -> tcm.delta_vcpu; 001111 aa 6 00044 3701 20 epp4 pr6|36,* 001112 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001113 aa 7 00062 2371 00 ldaq pr7|50 tcm.delta_vcpu 001114 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001115 aa 5 00062 1771 00 sbaq pr5|50 tcm.delta_vcpu 001116 aa 216000 4110 03 lde 72704,du 001117 aa 400000 4750 03 fad 131072,du 001120 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 155 time = time - fault_int_time; 001121 aa 6 00112 5751 00 fsb pr6|74 fault_int_time 001122 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 156 call prt ("Other Fault"); 001123 aa 776746 2350 04 lda -538,ic 000071 = 117164150145 001124 aa 776746 2360 04 ldq -538,ic 000072 = 162040106141 001125 aa 6 00156 7571 00 staq pr6|110 001126 aa 776745 2350 04 lda -539,ic 000073 = 165154164000 001127 aa 6 00160 7551 00 sta pr6|112 001130 aa 000616 3520 04 epp2 398,ic 001746 = 000002000000 001131 aa 2 00000 2351 00 lda pr2|0 001132 aa 000360 6700 04 tsp4 240,ic 001512 STATEMENT 1 ON LINE 160 time = tcdp2 -> tcm.getwork_time - tcdp1 -> tcm.getwork_time; 001133 aa 6 00044 3701 20 epp4 pr6|36,* 001134 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001135 aa 7 00254 2371 00 ldaq pr7|172 tcm.getwork_time 001136 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001137 aa 5 00254 1771 00 sbaq pr5|172 tcm.getwork_time 001140 aa 216000 4110 03 lde 72704,du 001141 aa 400000 4750 03 fad 131072,du 001142 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 161 count = tcdp2 -> tcm.getwork_count - tcdp1 -> tcm.getwork_count; 001143 aa 7 00256 2361 00 ldq pr7|174 tcm.getwork_count 001144 aa 5 00256 1761 00 sbq pr5|174 tcm.getwork_count 001145 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001146 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 162 call prt_no_sum (" Getwork"); 001147 aa 776701 2370 04 ldaq -575,ic 000050 = 040107145164 167157162153 001150 aa 6 00152 7571 00 staq pr6|106 001151 aa 000561 3520 04 epp2 369,ic 001732 = 000002000000 001152 aa 2 00000 2351 00 lda pr2|0 001153 aa 000470 6700 04 tsp4 312,ic 001643 STATEMENT 1 ON LINE 164 time = tcdp2 -> tcm.loop_lock_time - tcdp1 -> tcm.loop_lock_time; 001154 aa 6 00044 3701 20 epp4 pr6|36,* 001155 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001156 aa 7 00037 2361 00 ldq pr7|31 tcm.loop_lock_time 001157 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001160 aa 5 00037 1761 00 sbq pr5|31 tcm.loop_lock_time 001161 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001162 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 165 count = tcdp2 -> tcm.loop_locks - tcdp1 -> tcm.loop_locks; 001163 aa 7 00036 2361 00 ldq pr7|30 tcm.loop_locks 001164 aa 5 00036 1761 00 sbq pr5|30 tcm.loop_locks 001165 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001166 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 166 if count > 0 then call prt_no_sum (" TC Loop Locks"); 001167 aa 000010 6044 04 tmoz 8,ic 001177 001170 aa 776734 2370 04 ldaq -548,ic 000124 = 040124103040 114157157160 001171 aa 6 00156 7571 00 staq pr6|110 001172 aa 776734 2370 04 ldaq -548,ic 000126 = 040114157143 153163000000 001173 aa 6 00160 7571 00 staq pr6|112 001174 aa 000544 3520 04 epp2 356,ic 001740 = 000002000000 001175 aa 2 00000 2351 00 lda pr2|0 001176 aa 000445 6700 04 tsp4 293,ic 001643 STATEMENT 1 ON LINE 168 time = sstp2 -> sst.post_purge_time - sstp1 -> sst.post_purge_time; 001177 aa 6 00044 3701 20 epp4 pr6|36,* 001200 ia 4 00014 3735 20 epp7 pr4|12,* sstp2 001201 aa 7 00012 2371 00 ldaq pr7|10 sst.post_purge_time 001202 ia 4 00012 3715 20 epp5 pr4|10,* sstp1 001203 aa 5 00012 1771 00 sbaq pr5|10 sst.post_purge_time 001204 aa 216000 4110 03 lde 72704,du 001205 aa 400000 4750 03 fad 131072,du 001206 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 169 count = sstp2 -> sst.post_purge_calls - sstp1 -> sst.post_purge_calls; 001207 aa 7 00167 2361 00 ldq pr7|119 sst.post_purge_calls 001210 aa 5 00167 1761 00 sbq pr5|119 sst.post_purge_calls 001211 aa 0 00465 7001 00 tsx0 pr0|309 fx1_to_fl2 001212 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 170 call prt_no_sum (" Post Purging"); 001213 aa 776705 2370 04 ldaq -571,ic 000120 = 040120157163 164040120165 001214 aa 6 00156 7571 00 staq pr6|110 001215 aa 776705 2370 04 ldaq -571,ic 000122 = 162147151156 147000000000 001216 aa 6 00160 7571 00 staq pr6|112 001217 aa 000471 3520 04 epp2 313,ic 001710 = 000002000000 001220 aa 2 00000 2351 00 lda pr2|0 001221 aa 000422 6700 04 tsp4 274,ic 001643 STATEMENT 1 ON LINE 174 count = -1.0e0; 001222 aa 001000 4310 03 fld 512,du 001223 aa 6 00103 4551 00 fst pr6|67 count STATEMENT 1 ON LINE 178 time = tcdp2 -> tcm.mp_idle - tcdp1 -> tcm.mp_idle; 001224 aa 6 00044 3701 20 epp4 pr6|36,* 001225 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001226 aa 7 00026 2371 00 ldaq pr7|22 tcm.mp_idle 001227 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001230 aa 5 00026 1771 00 sbaq pr5|22 tcm.mp_idle 001231 aa 216000 4110 03 lde 72704,du 001232 aa 400000 4750 03 fad 131072,du 001233 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 179 call prt ("MP Idle"); 001234 aa 776612 2370 04 ldaq -630,ic 000046 = 115120040111 144154145000 001235 aa 6 00152 7571 00 staq pr6|106 001236 aa 000444 3520 04 epp2 292,ic 001702 = 000002000000 001237 aa 2 00000 2351 00 lda pr2|0 001240 aa 000252 6700 04 tsp4 170,ic 001512 STATEMENT 1 ON LINE 181 time = tcdp2 -> tcm.work_class_idle - tcdp1 -> tcm.work_class_idle; 001241 aa 000436 2360 07 ldq 286,dl 001242 aa 000001 0760 07 adq 1,dl 001243 aa 777776 3760 07 anq 262142,dl 001244 aa 000010 0760 07 adq 8,dl 001245 aa 000001 0760 07 adq 1,dl 001246 aa 777776 3760 07 anq 262142,dl 001247 aa 000006 0760 07 adq 6,dl 001250 aa 000001 0760 07 adq 1,dl 001251 aa 777776 3760 07 anq 262142,dl 001252 aa 6 00044 3701 20 epp4 pr6|36,* 001253 aa 000000 6270 06 eax7 0,ql 001254 ia 4 00020 2371 66 ldaq pr4|16,*ql tcm.work_class_idle 001255 ia 4 00016 1771 77 sbaq pr4|14,*7 tcm.work_class_idle 001256 aa 216000 4110 03 lde 72704,du 001257 aa 400000 4750 03 fad 131072,du 001260 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 182 call prt ("Work Class Idle"); 001261 aa 776633 2370 04 ldaq -613,ic 000114 = 127157162153 040103154141 001262 aa 6 00156 7571 00 staq pr6|110 001263 aa 776633 2370 04 ldaq -613,ic 000116 = 163163040111 144154145000 001264 aa 6 00160 7571 00 staq pr6|112 001265 aa 000407 3520 04 epp2 263,ic 001674 = 000002000000 001266 aa 2 00000 2351 00 lda pr2|0 001267 aa 000223 6700 04 tsp4 147,ic 001512 STATEMENT 1 ON LINE 184 time = tcdp2 -> tcm.loading_idle - tcdp1 -> tcm.loading_idle; 001270 aa 6 00044 3701 20 epp4 pr6|36,* 001271 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001272 aa 7 00060 2371 00 ldaq pr7|48 tcm.loading_idle 001273 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001274 aa 5 00060 1771 00 sbaq pr5|48 tcm.loading_idle 001275 aa 216000 4110 03 lde 72704,du 001276 aa 400000 4750 03 fad 131072,du 001277 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 185 call prt ("Loading Idle"); 001300 aa 776566 2370 04 ldaq -650,ic 000066 = 114157141144 151156147040 001301 aa 6 00156 7571 00 staq pr6|110 001302 aa 776566 2350 04 lda -650,ic 000070 = 111144154145 001303 aa 6 00160 7551 00 sta pr6|112 001304 aa 000412 3520 04 epp2 266,ic 001716 = 000002000000 001305 aa 2 00000 2351 00 lda pr2|0 001306 aa 000204 6700 04 tsp4 132,ic 001512 STATEMENT 1 ON LINE 187 time = tcdp2 -> tcm.nmp_idle - tcdp1 -> tcm.nmp_idle; 001307 aa 6 00044 3701 20 epp4 pr6|36,* 001310 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001311 aa 7 00030 2371 00 ldaq pr7|24 tcm.nmp_idle 001312 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001313 aa 5 00030 1771 00 sbaq pr5|24 tcm.nmp_idle 001314 aa 216000 4110 03 lde 72704,du 001315 aa 400000 4750 03 fad 131072,du 001316 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 188 call prt ("NMP Idle"); 001317 aa 776525 2370 04 ldaq -683,ic 000044 = 116115120040 111144154145 001320 aa 6 00152 7571 00 staq pr6|106 001321 aa 000411 3520 04 epp2 265,ic 001732 = 000002000000 001322 aa 2 00000 2351 00 lda pr2|0 001323 aa 000167 6700 04 tsp4 119,ic 001512 STATEMENT 1 ON LINE 190 time = tcdp2 -> tcm.zero_idle - tcdp1 -> tcm.zero_idle; 001324 aa 6 00044 3701 20 epp4 pr6|36,* 001325 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001326 aa 7 00032 2371 00 ldaq pr7|26 tcm.zero_idle 001327 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001330 aa 5 00032 1771 00 sbaq pr5|26 tcm.zero_idle 001331 aa 216000 4110 03 lde 72704,du 001332 aa 400000 4750 03 fad 131072,du 001333 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 191 call prt ("Zero Idle"); 001334 aa 776527 2350 04 lda -681,ic 000063 = 132145162157 001335 aa 776527 2360 04 ldq -681,ic 000064 = 040111144154 001336 aa 6 00156 7571 00 staq pr6|110 001337 aa 145000 2350 03 lda 51712,du 001340 aa 6 00160 7551 00 sta pr6|112 001341 aa 000325 3520 04 epp2 213,ic 001666 = 000002000000 001342 aa 2 00000 2351 00 lda pr2|0 001343 aa 000147 6700 04 tsp4 103,ic 001512 STATEMENT 1 ON LINE 195 prt_sw = ""b; 001344 aa 6 00137 4501 00 stz pr6|95 prt_sw STATEMENT 1 ON LINE 196 time = tcdp2 -> tcm.system_virtual_time - tcdp1 -> tcm.system_virtual_time; 001345 aa 6 00044 3701 20 epp4 pr6|36,* 001346 ia 4 00020 3735 20 epp7 pr4|16,* tcdp2 001347 aa 7 00400 2371 00 ldaq pr7|256 tcm.system_virtual_time 001350 ia 4 00016 3715 20 epp5 pr4|14,* tcdp1 001351 aa 5 00400 1771 00 sbaq pr5|256 tcm.system_virtual_time 001352 aa 216000 4110 03 lde 72704,du 001353 aa 400000 4750 03 fad 131072,du 001354 aa 6 00106 4551 00 fst pr6|70 time STATEMENT 1 ON LINE 197 call prt ("Virtual CPU Time"); 001355 aa 776533 2370 04 ldaq -677,ic 000110 = 126151162164 165141154040 001356 aa 6 00156 7571 00 staq pr6|110 001357 aa 776533 2370 04 ldaq -677,ic 000112 = 103120125040 124151155145 001360 aa 6 00160 7571 00 staq pr6|112 001361 aa 000277 3520 04 epp2 191,ic 001660 = 000002000000 001362 aa 2 00000 2351 00 lda pr2|0 001363 aa 000127 6700 04 tsp4 87,ic 001512 STATEMENT 1 ON LINE 201 if sum < 0.0 then /* won't be more than Planck's constant */ sum, ni_sum = 0.0; 001364 aa 6 00100 4311 00 fld pr6|64 sum 001365 aa 000004 6050 04 tpl 4,ic 001371 001366 aa 400000 4310 03 fld 131072,du 001367 aa 6 00100 4551 00 fst pr6|64 sum 001370 aa 6 00101 4551 00 fst pr6|65 ni_sum STATEMENT 1 ON LINE 203 call ioa_ ("Other Overhead^17t^6.2f^7.2f", sum, ni_sum); 001371 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001372 aa 776571 00 0034 desc9a -647,28 000162 = 117164150145 001373 aa 6 00226 00 0034 desc9a pr6|150,28 001374 aa 6 00226 3521 00 epp2 pr6|150 001375 aa 6 00166 2521 00 spri2 pr6|118 001376 aa 6 00100 3521 00 epp2 pr6|64 sum 001377 aa 6 00170 2521 00 spri2 pr6|120 001400 aa 6 00101 3521 00 epp2 pr6|65 ni_sum 001401 aa 6 00172 2521 00 spri2 pr6|122 001402 aa 776410 3520 04 epp2 -760,ic 000012 = 524000000034 001403 aa 6 00174 2521 00 spri2 pr6|124 001404 aa 776405 3520 04 epp2 -763,ic 000011 = 414000000033 001405 aa 6 00176 2521 00 spri2 pr6|126 001406 aa 6 00200 2521 00 spri2 pr6|128 001407 aa 6 00164 6211 00 eax1 pr6|116 001410 aa 014000 4310 07 fld 6144,dl 001411 aa 6 00044 3701 20 epp4 pr6|36,* 001412 la 4 00032 3521 20 epp2 pr4|26,* ioa_ 001413 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 208 prt_sw = "1"b; 001414 aa 400000 2350 03 lda 131072,du 001415 aa 6 00137 7551 00 sta pr6|95 prt_sw STATEMENT 1 ON LINE 209 call prt ("Virtual CPU Time"); 001416 aa 776472 2370 04 ldaq -710,ic 000110 = 126151162164 165141154040 001417 aa 6 00156 7571 00 staq pr6|110 001420 aa 776472 2370 04 ldaq -710,ic 000112 = 103120125040 124151155145 001421 aa 6 00160 7571 00 staq pr6|112 001422 aa 000236 3520 04 epp2 158,ic 001660 = 000002000000 001423 aa 2 00000 2351 00 lda pr2|0 001424 aa 000066 6700 04 tsp4 54,ic 001512 STATEMENT 1 ON LINE 211 reset_code: if rsw then do; 001425 aa 6 00135 2351 00 lda pr6|93 rsw 001426 aa 000042 6000 04 tze 34,ic 001470 STATEMENT 1 ON LINE 213 call metering_util_$reset (unique, code); 001427 aa 6 00044 3701 20 epp4 pr6|36,* 001430 ia 4 00022 3521 00 epp2 pr4|18 unique 001431 aa 6 00230 2521 00 spri2 pr6|152 001432 aa 6 00134 3521 00 epp2 pr6|92 code 001433 aa 6 00232 2521 00 spri2 pr6|154 001434 aa 6 00226 6211 00 eax1 pr6|150 001435 aa 010000 4310 07 fld 4096,dl 001436 la 4 00040 3521 20 epp2 pr4|32,* metering_util_$reset 001437 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 214 if code^=0 then do; 001440 aa 6 00134 2361 00 ldq pr6|92 code 001441 aa 000027 6000 04 tze 23,ic 001470 STATEMENT 1 ON LINE 215 call com_err_ (code, MYNAME, "Resetting."); 001442 aa 776416 2370 04 ldaq -754,ic 000060 = 122145163145 164164151156 001443 aa 6 00156 7571 00 staq pr6|110 001444 aa 147056 2350 03 lda 52782,du 001445 aa 6 00160 7551 00 sta pr6|112 001446 aa 6 00134 3521 00 epp2 pr6|92 code 001447 aa 6 00230 2521 00 spri2 pr6|152 001450 aa 776330 3520 04 epp2 -808,ic 000000 = 164157164141 001451 aa 6 00232 2521 00 spri2 pr6|154 001452 aa 6 00156 3521 00 epp2 pr6|110 001453 aa 6 00234 2521 00 spri2 pr6|156 001454 aa 776366 3520 04 epp2 -778,ic 000042 = 404000000043 001455 aa 6 00236 2521 00 spri2 pr6|158 001456 aa 776355 3520 04 epp2 -787,ic 000033 = 526000000021 001457 aa 6 00240 2521 00 spri2 pr6|160 001460 aa 776337 3520 04 epp2 -801,ic 000017 = 524000000012 001461 aa 6 00242 2521 00 spri2 pr6|162 001462 aa 6 00226 6211 00 eax1 pr6|150 001463 aa 014000 4310 07 fld 6144,dl 001464 aa 6 00044 3701 20 epp4 pr6|36,* 001465 la 4 00024 3521 20 epp2 pr4|20,* com_err_ 001466 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 216 return; 001467 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 217 end; STATEMENT 1 ON LINE 218 end; STATEMENT 1 ON LINE 220 call ioa_ (" "); 001470 aa 040000 2350 03 lda 16384,du 001471 aa 6 00162 7551 00 sta pr6|114 001472 aa 6 00162 3521 00 epp2 pr6|114 001473 aa 6 00230 2521 00 spri2 pr6|152 001474 aa 776314 3520 04 epp2 -820,ic 000010 = 524000000001 001475 aa 6 00232 2521 00 spri2 pr6|154 001476 aa 6 00226 6211 00 eax1 pr6|150 001477 aa 004000 4310 07 fld 2048,dl 001500 aa 6 00044 3701 20 epp4 pr6|36,* 001501 la 4 00032 3521 20 epp2 pr4|26,* ioa_ 001502 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 221 return; 001503 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 267 end total_time_meters; BEGIN PROCEDURE prt PROLOGUE SEQUENCE 001504 aa 6 00244 4401 00 sxl0 pr6|164 STATEMENT 1 ON LINE 229 001505 aa 400000 2350 03 lda 131072,du 001506 aa 6 00147 7551 00 sta pr6|103 avesw STATEMENT 1 ON LINE 230 001507 aa 6 00150 7551 00 sta pr6|104 nisw 001510 aa 6 00244 7201 00 lxl0 pr6|164 001511 aa 000000 7100 10 tra 0,0 MAIN SEQUENCE ENTRY TO prt STATEMENT 1 ON LINE 225 prt: proc (name); 001512 aa 6 00140 6501 00 spri4 pr6|96 001513 aa 6 00142 2521 00 spri2 pr6|98 001514 aa 2 00002 3521 01 epp2 pr2|2,au 001515 aa 6 00144 2521 00 spri2 pr6|100 001516 aa 2 00000 2361 20 ldq pr2|0,* 001517 aa 000002 6040 04 tmi 2,ic 001521 001520 aa 777777 3760 07 anq 262143,dl 001521 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001522 aa 6 00245 7561 00 stq pr6|165 001523 aa 777761 7000 04 tsx0 -15,ic 001504 STATEMENT 1 ON LINE 232 sum_sw = "1"b; 001524 aa 400000 2350 03 lda 131072,du 001525 aa 6 00146 7551 00 sta pr6|102 sum_sw STATEMENT 1 ON LINE 234 prt_common: if name = "Zero Idle" | name = "NMP Idle" then /* remember to treat the Idle figures differently */ nisw = ""b; 001526 aa 6 00142 3735 20 epp7 pr6|98,* 001527 aa 7 00002 3715 20 epp5 pr7|2,* 001530 aa 6 00245 2351 00 lda pr6|165 001531 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001532 aa 5 00000 00 0005 desc9a pr5|0,al name 001533 aa 776332 00 0011 desc9a -806,9 000063 = 132145162157 001534 aa 000005 6000 04 tze 5,ic 001541 001535 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001536 aa 5 00000 00 0005 desc9a pr5|0,al name 001537 aa 776307 00 0010 desc9a -825,8 000044 = 116115120040 001540 aa 000002 6010 04 tnz 2,ic 001542 001541 aa 6 00150 4501 00 stz pr6|104 nisw STATEMENT 1 ON LINE 238 if count = 0e0 then ave_time = 0e0; 001542 aa 6 00103 4311 00 fld pr6|67 count 001543 aa 000004 6010 04 tnz 4,ic 001547 001544 aa 400000 4310 03 fld 131072,du 001545 aa 6 00102 4551 00 fst pr6|66 ave_time 001546 aa 000007 7100 04 tra 7,ic 001555 STATEMENT 1 ON LINE 239 else if count = -1e0 then avesw = ""b; 001547 aa 001000 5150 03 fcmp 512,du 001550 aa 000003 6010 04 tnz 3,ic 001553 001551 aa 6 00147 4501 00 stz pr6|103 avesw 001552 aa 000003 7100 04 tra 3,ic 001555 STATEMENT 1 ON LINE 240 else ave_time = time/count; 001553 aa 6 00106 5251 00 fdi pr6|70 time 001554 aa 6 00102 4551 00 fst pr6|66 ave_time STATEMENT 1 ON LINE 241 pc = time/meter_time; 001555 aa 6 00106 4311 00 fld pr6|70 time 001556 aa 6 00107 5651 00 fdv pr6|71 meter_time 001557 aa 6 00104 4551 00 fst pr6|68 pc STATEMENT 1 ON LINE 242 ni_pc = time/ni_meter_time; 001560 aa 6 00106 4311 00 fld pr6|70 time 001561 aa 6 00110 5651 00 fdv pr6|72 ni_meter_time 001562 aa 6 00105 4551 00 fst pr6|69 ni_pc STATEMENT 1 ON LINE 243 if sum_sw then do; 001563 aa 6 00146 2351 00 lda pr6|102 sum_sw 001564 aa 000012 6000 04 tze 10,ic 001576 STATEMENT 1 ON LINE 244 sum = sum - pc; 001565 aa 6 00100 4311 00 fld pr6|64 sum 001566 aa 6 00104 5751 00 fsb pr6|68 pc 001567 aa 6 00100 4551 00 fst pr6|64 sum STATEMENT 1 ON LINE 245 if nisw then /* if this is Idle */ ni_sum = ni_sum - ni_pc; 001570 aa 6 00150 2351 00 lda pr6|104 nisw 001571 aa 400000 3150 03 cana 131072,du 001572 aa 000004 6000 04 tze 4,ic 001576 001573 aa 6 00101 4311 00 fld pr6|65 ni_sum 001574 aa 6 00105 5751 00 fsb pr6|69 ni_pc 001575 aa 6 00101 4551 00 fst pr6|65 ni_sum STATEMENT 1 ON LINE 247 end; STATEMENT 1 ON LINE 248 if prt_sw then /* unless we're just calculating, print */ call ioa_ ("^a^17t^6.2f^[^7.2f^;^s^]^[^12.3f^;^s^]", name, pc, nisw, ni_pc, avesw, ave_time); 001576 aa 6 00137 2351 00 lda pr6|95 prt_sw 001577 aa 000043 6000 04 tze 35,ic 001642 001600 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001601 aa 776407 00 0050 desc9a -761,40 000207 = 136141136061 001602 aa 6 00246 00 0050 desc9a pr6|166,40 001603 aa 6 00246 3521 00 epp2 pr6|166 001604 aa 6 00262 2521 00 spri2 pr6|178 001605 aa 7 00002 3521 20 epp2 pr7|2,* name 001606 aa 6 00264 2521 00 spri2 pr6|180 001607 aa 6 00104 3521 00 epp2 pr6|68 pc 001610 aa 6 00266 2521 00 spri2 pr6|182 001611 aa 6 00150 3521 00 epp2 pr6|104 nisw 001612 aa 6 00270 2521 00 spri2 pr6|184 001613 aa 6 00105 3521 00 epp2 pr6|69 ni_pc 001614 aa 6 00272 2521 00 spri2 pr6|186 001615 aa 6 00147 3521 00 epp2 pr6|103 avesw 001616 aa 6 00274 2521 00 spri2 pr6|188 001617 aa 6 00102 3521 00 epp2 pr6|66 ave_time 001620 aa 6 00276 2521 00 spri2 pr6|190 001621 aa 776165 3520 04 epp2 -907,ic 000006 = 524000000046 001622 aa 6 00300 2521 00 spri2 pr6|192 001623 aa 6 00144 3535 20 epp3 pr6|100,* 001624 aa 3 00000 3521 20 epp2 pr3|0,* 001625 aa 6 00302 2521 00 spri2 pr6|194 001626 aa 776163 3520 04 epp2 -909,ic 000011 = 414000000033 001627 aa 6 00304 2521 00 spri2 pr6|196 001630 aa 6 00310 2521 00 spri2 pr6|200 001631 aa 6 00314 2521 00 spri2 pr6|204 001632 aa 776153 3520 04 epp2 -917,ic 000005 = 514000000001 001633 aa 6 00306 2521 00 spri2 pr6|198 001634 aa 6 00312 2521 00 spri2 pr6|202 001635 aa 6 00260 6211 00 eax1 pr6|176 001636 aa 034000 4310 07 fld 14336,dl 001637 aa 6 00044 3701 20 epp4 pr6|36,* 001640 la 4 00032 3521 20 epp2 pr4|26,* ioa_ 001641 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 251 return; 001642 aa 6 00140 6101 00 rtcd pr6|96 ENTRY TO prt_no_sum STATEMENT 1 ON LINE 253 prt_no_sum: entry (name); 001643 aa 6 00140 6501 00 spri4 pr6|96 001644 aa 6 00142 2521 00 spri2 pr6|98 001645 aa 2 00002 3521 01 epp2 pr2|2,au 001646 aa 6 00144 2521 00 spri2 pr6|100 001647 aa 2 00000 2361 20 ldq pr2|0,* 001650 aa 000002 6040 04 tmi 2,ic 001652 001651 aa 777777 3760 07 anq 262143,dl 001652 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001653 aa 6 00245 7561 00 stq pr6|165 001654 aa 777630 7000 04 tsx0 -104,ic 001504 STATEMENT 1 ON LINE 255 sum_sw = ""b; 001655 aa 6 00146 4501 00 stz pr6|102 sum_sw STATEMENT 1 ON LINE 256 goto prt_common; 001656 aa 777650 7100 04 tra -88,ic 001526 STATEMENT 1 ON LINE 258 end prt; END PROCEDURE prt END PROCEDURE total_time_meters ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved