1 /* BEGIN INCLUDE FILE ... apte.incl.pl1 */ 2 3 /* Modified 1984-11-11 by E. Swenson for IPC event channel validation. */ 4 5 dcl aptep pointer; 6 7 dcl 1 apte based (aptep) aligned, /* APT entry declaration for an active (known) process */ 8 2 thread unaligned, /* List thread */ 9 3 fp bit (18), /* Forward pointer */ 10 3 bp bit (18), /* Backward pointer */ 11 2 flags unaligned, /* Flags and miscellaneous */ 12 3 mbz bit (1), /* This bit must be zero (sentinel bit) */ 13 3 wakeup_waiting bit (1), /* ON if process has received wakeup */ 14 3 stop_pending bit (1), /* ON if process has received stop connect */ 15 3 pre_empted bit (1), /* ON if process is being pre-empted by get_processor */ 16 3 hproc bit (1), /* ON if process is hardcore process */ 17 3 loaded bit (1), /* ON if required per-process pages are in memory and wired */ 18 3 eligible bit (1), /* ON if process is eligible */ 19 3 idle bit (1), /* ON if this is an idle process */ 20 3 interaction bit (1), /* ON if process has interacted recently */ 21 3 pre_empt_pending bit (1), /* ON if process has received pre-empt connect */ 22 3 default_procs_required bit (1), /* ON if apte.procs_required is system default */ 23 3 realtime_burst bit (1), /* ON if next eligibility is realtime */ 24 3 always_loaded bit (1), /* ON if process is not to be unloaded */ 25 3 dbr_loaded bit (1), /* ON if DBR is loaded on some CPU */ 26 3 being_loaded bit (1), /* ON if somebody loading this process */ 27 3 shared_stack_0 bit (1), /* ON if a shared stack_0 is assigned */ 28 3 page_wait_flag bit (1), /* flag ON if waiting for page */ 29 3 firstsw bit (1), /* OFF until process is intialized */ 30 3 state bit (18), /* execution state */ 31 2 page_faults fixed bin (35), /* total page faults for the process */ 32 2 processid bit (36), /* bit 0-17: offset of ATPE */ 33 /* bit 18-35: sequential number */ 34 2 te fixed bin (35), /* virtual time since eligibility award */ 35 2 ts fixed bin (35), /* virtual time since scheduling */ 36 2 ti fixed bin (35), /* virtual time since interaction */ 37 2 timax fixed bin (35), /* maximum value allowed for apte.ti */ 38 39 /* * * * * * * * */ 40 41 2 ipc_pointers unaligned, 42 3 event_thread bit (18), /* relative pointer to ITT list */ 43 3 pad3 bit (18), 44 2 ips_message bit (36), /* IPS signals pending */ 45 2 asteps unaligned, /* relative ASTE pointers */ 46 3 pds bit (18), /* PDS (per-process) */ 47 3 dseg bit (18), /* DSEG (per-process) */ 48 3 prds bit (18), /* PRDS (per-processor) */ 49 2 savex7 bit (18) unaligned, /* x7 at call to getwork (return point in pxss) */ 50 2 term_processid bit (36), /* process to send wakeup at temination */ 51 2 lock_id bit (36), /* File System unqieu ID associated with process */ 52 2 time_used_clock fixed bin (71), /* Total CPU time when process last lost CPU */ 53 54 /* * * * * * * * */ 55 56 2 wait_event bit (36) aligned, /* Event ID process awaiting */ 57 2 wct_index bit (18) unaligned, /* rel offset of WCTE */ 58 2 flags2 unaligned, 59 3 priority_scheduling bit (1), /* ON if guaranteed eligibility */ 60 3 special_wakeups bit (6), /* Special wakeup channels */ 61 3 pad7 bit (7), 62 3 batch bit (1), /* ON if absentee */ 63 3 pr_tag bit (3), /* CPU tag running or last run */ 64 2 state_change_time fixed bin (71), /* Time apte.state last changed */ 65 2 alarm_event fixed bin (71), /* wakeup event for alarm clock manager */ 66 2 alarm_time_thread bit (18) unaligned, /* thread of processes with pending alarms */ 67 2 alarm_time bit (54) unaligned, /* wakeup time for alarm */ 68 69 /* * * * * * */ 70 71 2 term_channel fixed bin (71), /* wakeup event for account overflow */ 72 2 ws_size fixed bin, /* working set estimate for the process */ 73 2 temax fixed bin (35), /* maximum eligibility slice (vcpu) */ 74 2 deadline fixed bin (71), /* time of next run */ 75 2 lock bit (18) unaligned, /* 0 => APTE locked, unlocked => return point of last unlock */ 76 2 unusable bit (18) unaligned, /* locking routines destroy */ 77 2 cpu_monitor fixed bin (35), /* if not 0, send wakeup to term_processid when virtual cpu 78 /* reaches this (units = 1/1024 sec) */ 79 2 paging_measure fixed bin (71), /* cumulative memory units */ 80 2 access_authorization bit (72), /* authorization of this process */ 81 2 dbr fixed bin (71), /* DBR value (constant since DSEG entry-held) */ 82 83 2 virtual_cpu_time fixed bin (71), /* cumulative virtual CPU time for the process */ 84 2 ittes_sent fixed bin (18), /* Unprocessed ITTs sent by this process */ 85 2 ittes_got fixed bin (18), /* Unprocessed ITTs received by this process */ 86 87 /* Cells used to drive and instrument finite-state model for response time 88 measurement. Maintained by meter_response_time */ 89 90 2 current_response_state fixed bin (17) unaligned, /* Process state in modle */ 91 2 pad18 bit (18) unaligned, 92 2 number_processing fixed bin (35), /* Number interactions */ 93 2 last_response_state_time fixed bin (71), /* Clock time at last response state change */ 94 2 total_processing_time fixed bin (71), /* Total interaction processing time */ 95 96 /* * * * * * */ 97 98 2 begin_interaction_vcpu fixed bin (71), /* Virtual cpu at beginning of last interaction */ 99 100 /* End of cells for finite-state model */ 101 102 2 saved_temax fixed bin (35), /* temax at eligibility award */ 103 2 procs_required bit (8) unaligned, /* bit mask of CPUs this process can run */ 104 2 pad4 bit (28) unaligned, 105 2 ipc_r_offset fixed bin (18) unsigned, 106 2 ipc_r_factor fixed bin (35) unsigned, 107 2 apad (10) fixed bin (35); 108 109 /* END INCLUDE FILE ... apte.incl.pl1 */