/* BEGIN INCLUDE FILE as_meter_table.incl.pl1 */ /* This include file describes the segment as_meter_table, normally found in >sc1. This segment contains meters of the resources used by various subsystems of the answering service. Real time, virtual cpu time, and page faults are metered. In addition, there are counters of various events of interest, such as logins. Care is taken to avoid double counting in cases of recursive entry to a subsystem, or cases where one subsystem calls another and both are being metered. Updates to this segment are made primarily by as_meter_, whose enter and exit entry points are called by the subsystems just after entry and just before exit. In addition, some procedures keep a pointer to this segment and update it directly. This segment is printed by the as_meters command; this can be done by any process that has read access to this segment. The segment is truncated and reinitialized at each startup. Each entry in the table is permanently assigned to a particular subsystem. The assignments are defined in as_meter_numbers.incl.pl1. Several variables are declared fixed bin (34). The intention is to avoid the generation of code that does double word arithmetic when adding to these variables. The two switches (asmt.update_in_progress and asmte.x) are declared fixed bin so that the as_meters command can implement the -reset option by means of a structure subtraction statement (rather than individual subtraction statements for all variables in the structure except the two switches), and be able to be compiled with no warnings. For that reason, any new switches should be declared fixed bin. Written March 1980 by Tom Casey Modified May 1981 by T. Casey to add cells to meter cost of doing this metering. Modified June 1981 by T. Casey for MR9.0 to add 17th entry for TRYLOG_ABS_METER. Modified August 1981 by T. Casey for MR9.0 to change the switches from bit to fixed bin. */ /****^ HISTORY COMMENTS: 1) change(86-11-13,Herbst), approve(87-07-21,MCR7694), audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): Changed to determine number of as_meter slots (entries) based upon the variable hbound(AS_METER_NAMES,1) which is declared in as_meter_numbers.incl.pl1. END HISTORY COMMENTS */ dcl ASMT_VERSION_1 fixed bin int static options (constant) init (1); dcl 1 asmt aligned based (asmtp), 2 version fixed bin, 2 update_in_progress fixed bin, /* table is inconsistent when this word is ^=0 */ 2 startup_clock fixed bin (71), /* time at startup */ 2 latest_clock fixed bin (71), /* time at latest metering update */ 2 startup_vcpu fixed bin (71), /* vcpu used prior to startup */ 2 latest_vcpu fixed bin (71), /* current total vcpu usage of initializer process */ 2 startup_pf fixed bin (34), /* page faults taken prior to startup */ 2 latest_pf fixed bin (34), /* current total page faults taken by initializer process */ 2 global_entered fixed bin, /* count of subsystems entered but not yet exited */ 2 logins (3) fixed bin, /* count of interactive, absentee, and daemon logins */ 2 logouts (3) fixed bin, /* count of interactive, absentee, and daemon logouts */ 2 asmt_count fixed bin (34), /* count of calls to asmt entry points */ 2 asmt_real_time fixed bin (71), /* real time spent in those entry points */ 2 asmt_vcpu fixed bin (71), /* virtual cpu time spent in those entry points */ 2 asmt_pf fixed bin (34), /* page faults taken while in those entry points */ 2 asmt_pad (7) fixed bin, /* pad header to 32 words */ 2 entry (hbound(AS_METER_NAMES,1)) aligned like asmte; /* 32 word entries */ dcl 1 asmte aligned based (asmtep), 2 entered fixed bin (34), /* if nonzero, subsystem has been entered but not yet exited */ 2 entry_count fixed bin (34), /* total entries to subsystem in this bootload */ 2 update_clock fixed bin (71), /* time of entry or exit (whichever has happened last) */ 2 tot_real_time fixed bin (71), /* total real time in subsystem, including called subsystems */ 2 real_time fixed bin (71), /* real time in subsystem, excluding called subsystems */ 2 x_real_time fixed bin (71), /* exclude this from tot_real to get real, at next exit */ 2 entry_vcpu fixed bin (71), /* vcpu usage at entry to subsystem */ 2 tot_vcpu fixed bin (71), /* total vcpu used in subsystem, including called subsystems */ 2 vcpu fixed bin (71), /* vcpu used in subsystem, excluding called subsystems */ 2 x_vcpu fixed bin (71), /* exclude this from tot_vcpu to get vcpu, at next exit */ 2 entry_pf fixed bin (34), /* page faults at entry to subsystem */ 2 tot_pf fixed bin (34), /* total page faults in subsystem, including called subsystems */ 2 pf fixed bin (34), /* page faults in subsystem, excluding called subsystems */ 2 x_pf fixed bin (34), /* exclude this from tot_pf to get pf, at next exit */ 2 x fixed bin, /* ^=0 if subsystem has nonzero x values at the moment */ 2 recursive_entry_count fixed bin (34), /* number of entries that were recursive */ 2 asmte_pad (8) fixed bin; /* pad entry to 32 words */ /* END INCLUDE FILE as_meter_table.incl.pl1 */ */ ----------------------------------------------------------- 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 */