OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    4300  DECLARATIONS

   (1)   12300  SCH$OSWPSCHED - OUT SWAP SCHEDULER

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000   100 

                                     0000   200 	.TITLE	OSWPSCHED - SWAP SCHEDULER

                                     0000   300 	.IDENT	/01/

                                     0000   400 

                                     0000   500 ;

                                     0000   600 ; COPYRIGHT (C) 1977

                                     0000   700 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000   800 ;

                                     0000   900 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000  1000 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000  1100 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000  1200 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000  1300 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000  1400 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000  1500 ; REMAIN IN DEC.

                                     0000  1600 ;

                                     0000  1700 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000  1800 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000  1900 ; CORPORATION.

                                     0000  2000 ;

                                     0000  2100 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000  2200 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000  2300 

                                     0000  2400 ;++

                                     0000  2500 ; FACILITY: EXECUTIVE, BALANCE SET SWAPPER

                                     0000  2600 ;

                                     0000  2700 ; ABSTRACT:

                                     0000  2800 ;	OSWPSCHED SELECTS THE LOWEST PRIORITY PROCESS SUITABLE AS AN

                                     0000  2900 ;	OUTSWAP CANDIDATE TO MAKE MEMORY PAGES AVAILABLE BOTH FOR

                                     0000  3000 ;	INSWAPPING AND MAINTENANCE OF THE DESIRED NUMBER OF FREE PAGES.

                                     0000  3100 ;

                                     0000  3200 ; ENVIRONMENT:

                                     0000  3300 ;	MODE = KERNEL, RESIDENT

                                     0000  3400 ;

                                     0000  3500 ; AUTHOR: R. I. HUSTVEDT, CREATION DATE: 14-FEB-77

                                     0000  3600 ;

                                     0000  3700 ; MODIFIED BY:

                                     0000  3800 ;

                                     0000  3900 ;	, : VERSION

                                     0000  4000 ; 01	- 

                                     0000  4100 ;--

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   2

01              DECLARATIONS                                                                                                     (1)



                                     0000  4300 	.SBTTL	DECLARATIONS

                                     0000  4400 ;

                                     0000  4500 ; INCLUDE FILES:

                                     0000  4600 ;

                                     0000  4700 

                                     0000  4800 	$CEBDEF				; DEFINE CEB OFFSETS

                                     0000  4900 	$IPLDEF				; DEFINE INTERRUPT PRIORITY LEVELS

                                     0000  5000 	$PCBDEF				; DEFINE PCB OFFSETS

                                     0000  5100 	$PHDDEF				; DEFINE PHD OFFSETS

                                     0000  5200 	$PRDEF				; DEFINE PROCESSOR REGISTERS

                                     0000  5300 	$STATEDEF			; DEFINE STATE VALUES

                                     0000  5400 	$WQHDEF				; DEFINE WAIT QUEUE HEADER OFFSETS

                                     0000  5500 	

                                     0000  5600 ;

                                     0000  5700 ; MACROS:

                                     0000  5800 ;

                                     0000  5900 

                                     0000  6000 ;

                                     0000  6100 ;	OUTSWP - MACRO TO GENERATE ORDERED ACTION TABLE FOR

                                     0000  6200 ;		 NON-EXECUTABLE STATES.

                                     0000  6300 ;

                                     0000  6400 ;	OUTSWP	STATE,[<FLAG,FLAG,FLAG...>]

                                     0000  6500 ;

                                     0000  6600 ;	WHERE:  STATE = STATE NAME LESS SCH$C_ PREFIX

                                     0000  6700 ;		FLAG  = ONE OF THE SWAP SCHEDULING FLAGS

                                     0000  6800 ;			_V_CEF = COMMON EVENT FLAG STATE

                                     0000  6900 ;			_V_DIOCNT = REQUIRE NONZERO DIOCNT

                                     0000  7000 ;			_V_INQUAN = OBSERVE INITIAL QUANTUM, IGNORE

                                     0000  7100 ;				    PROCESS IF PCB$V_INQUAN IS SET.

                                     0000  7200 ;			_V_NDIOCNT  = IGNORE PROCESS IF PCB$W_DIOCNT IS NON-ZERO.

                                     0000  7300 ;			_V_PRIORITY = OBSERVE PRIORITY OF POSSIBLE OUTSWAP

                                     0000  7400 ;				      CANDIDATE RELATIVE TO INSWAP CANDIDATE.

                                     0000  7500 ;

                                     0000  7600 	.MACRO	OUTSWP,STATE,FLAGS

                                     0000  7700 	.BYTE	SCH$C_'STATE

                                     0000  7800 	.SAVE

                                     0000  7900 	.PSECT	$OSWPSCHED1,BYTE

                                     0000  8000 TMP...=0

                                     0000  8100 	.IRP	FLGS,<FLAGS>

                                     0000  8200 	TMP...=TMP...+<1@_V_'FLGS>

                                     0000  8300 	.ENDR

                                     0000  8400 	.BYTE	TMP...

                                     0000  8500 	.RESTORE

                                     0000  8600 	.ENDM	OUTSWP

                                     0000  8700 ;

                                     0000  8800 ; EQUATED SYMBOLS:

                                     0000  8900 ;

                                     0000  9000 

                                     0000  9100 	_VIELD	,0,<-			; DEFINE CONTROL BITS

                                     0000  9200 		CEF,-			; COMMON EVENT FLAG WAIT (MUST BE BIT 0)

                                     0000  9300 		DIOCNT,-		; REQUIRE NON-ZERO DIOCNT

                                     0000  9400 		INQUAN,-		; OBSERVE INQUAN FLAG

                                     0000  9500 		NDIOCNT,-		; DIOCNT MUST BE ZERO

                                     0000  9600 		PRIORITY,-		; OBSERVE PRIORITY

                                     0000  9700 		>

                                     0000  9800 ;

                                     0000  9900 ; OWN STORAGE:

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   3

01              DECLARATIONS                                                                                                     (1)



                                     0000 10000 ;

                                     0000 10100 

                                     0000 10200 

                                 00000000 10300 	.PSECT	$OSWPSCHED2,BYTE

                                 00  0000 10400 	.BYTE	0			; NULL TO TERMINATE LIST

                                     0001 10500 	OUTSWP	PFW,<INQUAN,PRIORITY>	; PAGE FAULT WAIT

                                     0002 10600 	OUTSWP	LEF,<DIOCNT,INQUAN,PRIORITY>	; LOCAL EVENT WAIT (DIOCNT NON-ZERO)

                                     0003 10700 	OUTSWP	CEF,<CEF,DIOCNT,INQUAN,PRIORITY> ; COMMON EVENT WAIT (DIOCNT NON-ZERO)

                                     0004 10800 	OUTSWP	MWAIT,<PRIORITY>	; MUTEX WAIT

                                     0005 10900 	OUTSWP	COLPG,<PRIORITY>	; COLLIDED PAGE WAIT

                                     0006 11000 	OUTSWP	FPG,<PRIORITY>		; FREE PAGE WAIT

                                     0007 11100 	OUTSWP	CEF,<CEF,NDIOCNT>	; COMMON EVENT FLAG WAIT

                                     0008 11300 	OUTSWP	HIB			; HIBERNATING

                                     0009 11350 	OUTSWP	LEF,NDIOCNT		; LOCAL EVENT FLAG WAIT

                                     000A 11400 	OUTSWP	SUSP			; SUSPENDED

                                     000B 11500 

                                 0000000A 11600 	.PSECT	$OSWPSCHED1,BYTE

                                     000A 11700 OSWPFLGS:

                                     000A 11800 

                                 0000000B 11900 	.PSECT	$OSWPSCHED2,BYTE

                                     000B 12000 OSWPSTATE:

                                     000B 12100 

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   4

01              SCH$OSWPSCHED - OUT SWAP SCHEDULER                                                                               (1)



                                     000B 12300 	.SBTTL	SCH$OSWPSCHED - OUT SWAP SCHEDULER

                                     000B 12400 ;++

                                     000B 12500 ; FUNCTIONAL DESCRIPTION:

                                     000B 12600 ;	SCH$OSWPCHED SCANS FOR THE LOWEST PRIORITY PROCESS WHICH CAN BE

                                     000B 12700 ;	OUTSWAPPED TO MAKE PAGES AVAILABLE EITHER TO MAINTAIN THE

                                     000B 12800 ;	DESIRED FREE LIST LENGTH OR TO INSWAP ANOTHER PROCESS.

                                     000B 12900 ;

                                     000B 13000 ; CALLING SEQUENCE:

                                     000B 13100 ;	BSB/JSB	SCH$OSWPSCHED

                                     000B 13200 ;

                                     000B 13300 ; INPUT PARAMETERS:

                                     000B 13400 ;	SWP$GB_ISWPRI - PRIORITY OF INSWAP PROCESS

                                     000B 13500 ;

                                     000B 13600 ; IMPLICIT INPUTS:

                                     000B 13700 ;	ALL STATE QUEUE HEADERS AND ATTACHED PROCESS CONTROL BLOCKS.

                                     000B 13800 ;

                                     000B 13900 ; OUTPUT PARAMETERS:

                                     000B 14000 ;	R4 - PCB ADDRESS OF OUTSWAP CANDIDATE

                                     000B 14100 ;	     0=> NONE

                                     000B 14200 ;	R5 - DESTROYED

                                     000B 14300 ;	R6 - DESTROYED

                                     000B 14400 ;

                                     000B 14500 ; IMPLICIT OUTPUTS:

                                     000B 14600 ;	PCB$V_RES OF OUTSWAP CANDIDATE IS CLEARED AND A SWPOUT EVENT

                                     000B 14700 ;	HAS BEEN REPORTED.

                                     000B 14800 ;

                                     000B 14900 ; COMPLETION CODES:

                                     000B 15000 ;	NONE

                                     000B 15100 ;

                                     000B 15200 ; SIDE EFFECTS:

                                     000B 15300 ;	NONE

                                     000B 15400 ;

                                     000B 15500 ;--

                                     000B 15600 

                                     000B 15700 SCH$OSWPSCHED::				; SCHEDULE OUTSWAP

                                     000B 15800 	DSBINT	#IPL$_SYNCH		; BLOCK SYSTEM EVENTS

            53         F7 AF     9E  0011 15900 	MOVAB	B^OSWPSTATE,R3		; INITIALIZE STATE SCAN

            52         0A'AF     9E  0015 16000 	MOVAB	B^OSWPFLGS,R2		; AND ASSOCIATED FLAG LIST

                                     0019 16100 NEXTSTATE:				; TRY NEXT STATE

                                     0019 16200 	.ENABL	LSB

            51            73     9A  0019 16300 	MOVZBL	-(R3),R1		; GET NEXT STATE TO TRY

                          1E     13  001C 16400 	BEQL	COM			; TRY COM IF CANT FIND NON-EXECUTABLE

            72            00     E1  001E 16500 	BBC	#_V_CEF,-(R2),10$	; CONTINUE IF NOT CEF WAIT

                          1D         0021       

            55       0000'CF     7E  0022 16600 	MOVAQ	W^SCH$GQ_CEBHD,R5	; GET ADDRESS OF LISTHEAD

            50         14 A5     DE  0027 16700 	MOVAL	CEB$L_WQFL(R5),R0	; AND MAKE WORKING COPY

                                     002B 16800 NEXTCEB:				; NEXT CEB

            EB            62     E9  002B 16900 	BLBC	(R2),NEXTSTATE		; BR IF _V_CEF CLEAR

            50         EC A0     D0  002E 17000 	MOVL	-CEB$L_WQFL(R0),R0	; FLINK FORWARD

            55            50     D1  0032 17100 	CMPL	R0,R5			; CHECK FOR END OF CEB LIST

                          E2     13  0035 17200 	BEQL	NEXTSTATE		; AT END IF EQL

            50            14     C0  0037 17250 	ADDL	#CEB$L_WQFL,R0		; POINT TO WAIT QUEUE

                          0D     11  003A 17300 	BRB	20$			; ELSE SCAN CEB WAIT QUEUE

                          006F   31  003C 17400 COM:	BRW	COMPUTE			; SCAN COMPUTE QUEUES

            50       0000'CF41   7E  003F 17500 10$:	MOVAQ	W^SCH$AQ_WQHDR[R1],R0	; COMPUTE ADDRESS OF WAIT QUEUE HDR

            50            6041   DE  0045 17600 	MOVAL	(R0)[R1],R0		; AS SCH$AQ_WQHDR+12*R1

            54         04 A0     D0  0049 17700 20$:	MOVL	WQH$L_WQBL(R0),R4	; GET TAIL OF QUEUE

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   5

01              SCH$OSWPSCHED - OUT SWAP SCHEDULER                                                                               (1)



                                     004D 17800 	.DSABL	LSB

            50            54     D1  004D 17900 WSCAN:	CMPL	R4,R0			; CHECK FOR END OF QUEUE

                          D9     13  0050 18000 	BEQL	NEXTCEB			; TRY NEXT STATE OR CEB

            43         28 A4     E9  0052 18100 	BLBC	PCB$L_STS(R4),NEXTPR	; NOT RESIDENT, NEXT IN QUEUE

         46 A4         44 A4     B1  0056 18200 	CMPW	PCB$W_DIOCNT(R4),PCB$W_DIOLM(R4) ;  CHECK IT FOR ZERO

                          06     13  005B 18300 	BEQL	5$			; IF ZERO, IS THAT PERMITTED?

            62            03     E0  005D 18400 	BBS	#_V_NDIOCNT,(R2),NEXTPR	; BR IF NON-ZERO NOT PERMITTED

                          38         0060       

                          04     11  0061 18500 	BRB	10$			; CONTINUE IF NON-ZERO ALLOWED

            62            01     E0  0063 18600 5$:	BBS	#_V_DIOCNT,(R2),NEXTPR	; BR IF ZERO DIOCNT NOT PERMITTED

                          32         0066       

            62            04     E1  0067 18700 10$:	BBC	#_V_PRIORITY,(R2),20$	; BR IF PRIORITY CAN BE IGNORED

                          08         006A       

       0000'CF         0B A4     91  006B 18800 	CMPB	PCB$B_PRI(R4),W^SWP$GB_ISWPRI	; COMPARE WITH INSWAP PRIORITY

                          26     19  0071 18900 	BLSS	NEXTPR			; IGNORE IF MORE IMPORTANT THAN ISWP

            62            02     E1  0073 19000 20$:	BBC	#_V_INQUAN,(R2),30$	; BR IF INQUAN CAN BE IGNORED

                          18         0076       

         28 A4            03     E1  0077 19100 	BBC	#PCB$V_INQUAN,PCB$L_STS(R4),30$	; BR IF INQUAN SATISFIED

                          13         007B       

            56         64 A4     D0  007C 19200 	MOVL	PCB$L_PHD(R4),R6	; GET POINTER TO PHD

            56         40 A6     32  0080 19300 	CVTWL	PHD$W_QUANT(R6),R6	; FETCH REMAINING QUANTUM

            56       0002'CF     C0  0084 19400 	ADDL	W^EXE$GQ_SYSTIME+2,R6	; ADD CURRENT TIME

         2C A4            56     D1  0089 19500 	CMPL	R6,PCB$L_WTIME(R4)	; COMPARE WITH WAIT TIME

                          0A     19  008D 19600 	BLSS	NEXTPR			; INITIAL QUANTUM NOT EXPIRED YET

                       0E A4     B5  008F 19700 30$:	TSTW	PCB$W_MTXCNT(R4)	; CANT OUTSWAP A PROCESS OWNING A MUTEX

                          05     12  0092 19800 	BNEQ	NEXTPR			; BR IF MUTEX OWNED

         28 A4            04     E1  0094 20100 	BBC	#PCB$V_PSWAPM,PCB$L_STS(R4),KICKOUT	; BR IF PROCESS SWAPABLE

                          06         0098       

            54         04 A4     D0  0099 20200 NEXTPR:	MOVL	PCB$L_SQBL(R4),R4	; BLINK THROUGH QUEUE

                          AE     11  009D 20300 	BRB	WSCAN			; AND CONTINUE SCAN

                                     009F 20400 

                                     009F 20500 KICKOUT:				; KICK PROCESS OUT OF BALANCE SET

                          52     D4  009F 20600 	CLRL	R2			; NULL PRIORITY INCREMENT

         28 A4            00     E7  00A1 20700 	BBCCI	#PCB$V_RES,PCB$L_STS(R4),10$	; CLEAR RESIDENT FLAG

                          00         00A5       

                                     00A6 20800 10$:	RPTEVT	SWPOUT			; REPORT SWAPOUT EVENT

                                     00AA 20900 EXIT:	ENBINT				; RESTORE IPL

                                 05  00AD 21000 	RSB				; AND RETURN

                                     00AE 21100 

                                     00AE 21200 COMPUTE:				; COMPUTE STATE SCAN

            52       0000'CF     9E  00AE 21300 	MOVAB	W^SCH$AQ_COMOH,R2	; POINT TO LONGWORD BEYOND PRI=0 HDR

            53            72     7D  00B3 21400 10$:	MOVQ	-(R2),R3		; GET QUEUE HEADER

                          1E     13  00B6 21500 	BEQL	50$			; NONE, SCAN FINISHED

            54            52     D1  00B8 21600 20$:	CMPL	R2,R4			; CHECK FOR EMPTY QUEUE

                          F6     13  00BB 21700 	BEQL	10$			; YES, NEXT QUEUE (HIGHER PRIORITY)

                       0E A4     B5  00BD 21800 	TSTW	PCB$W_MTXCNT(R4)	; DONT SWAP IF MUTEX OWNED

                          06     12  00C0 21900 	BNEQ	30$			; BR IF MUTEX OWNED, NEXT PROCESS

         28 A4            18     D3  00C2 22200 	BITL	#<<1@PCB$V_PSWAPM>!<1@PCB$V_INQUAN>>,PCB$L_STS(R4) ; CHECK FOR SWAPPABLE

                          06     13  00C6 22300 	BEQL	40$			; CONTINUE IF SWAPPABLE

            54         04 A4     D0  00C8 22400 30$:	MOVL	PCB$L_SQBL(R4),R4	; BLINK THROUGH QUEUE

                          EA     11  00CC 22500 	BRB	20$			; AND CHECK FOR EMPTY

                                     00CE 22600 

       0000'CF         0B A4     91  00CE 22700 40$:	CMPB	PCB$B_PRI(R4),W^SWP$GB_ISWPRI	; COMPARE WITH INSWAP CANDIDATE

                          C9     18  00D4 22800 	BGEQ	KICKOUT			; OK, CAN SWAP

                          54     D4  00D6 22900 50$:	CLRL	R4			; INDICATE NONE FOUND

                          D0     11  00D8 23000 	BRB	EXIT			; AND EXIT

                                     00DA 23100 

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   6

01              SCH$OSWPSCHED - OUT SWAP SCHEDULER                                                                               (1)



                                     00DA 23200 	.END

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   7

SYMBOL TABLE                                                                                                                     (1)



BIT...         = 00000005            PCB$L_PHYPCB     00000018            PHD$C_LENGTH     00000118            

CEB$B_STS        0000000B            PCB$L_PID        00000060            PHD$C_PHDPAGCTX= 00000008            

CEB$B_TYPE       0000000A            PCB$L_PQB        0000004C            PHD$K_LENGTH     00000118            

CEB$L_CEBBL      00000004            PCB$L_SQBL       00000004            PHD$L_BIOCNT     00000054            

CEB$L_CEBFL      00000000            PCB$L_SQFL       00000000            PHD$L_CPULIM     00000058            

CEB$L_EFC        00000010            PCB$L_STS        00000028            PHD$L_CPUTIM     0000003C            

CEB$L_PID        0000000C            PCB$L_UIC        00000020            PHD$L_DIOCNT     00000050            

CEB$L_UIC        00000020            PCB$L_WSSWP      00000024            PHD$L_ESP        0000007C            

CEB$L_WQBL       00000018            PCB$L_WTIME      0000002C            PHD$L_FREP0VA    00000028            

CEB$L_WQFL       00000014            PCB$T_LNAME      0000006C            PHD$L_FREP1VA    00000030            

CEB$T_EFCNAM     00000028            PCB$V_ASTPEN   = 00000011            PHD$L_FREPTECNT  0000002C            

CEB$V_NOQUOTA  = 00000000            PCB$V_BATCH    = 0000000E            PHD$L_KSP        00000078            

CEB$V_PERM     = 00000001            PCB$V_DELPEN   = 00000001            PHD$L_P0BR       000000C8            

CEB$W_GRP        00000022            PCB$V_FORCPEN  = 00000002            PHD$L_P0LRASTL   000000CC            

CEB$W_PROT       00000024            PCB$V_HIBER    = 00000013            PHD$L_P1BR       000000D0            

CEB$W_REFC       00000026            PCB$V_INQUAN   = 00000003            PHD$L_P1LR       000000D4            

CEB$W_SIZE       00000008            PCB$V_LOGIN    = 00000014            PHD$L_PAGEFLTS   0000004C            

CEB$W_STATE      0000001E            PCB$V_NETWRK   = 00000015            PHD$L_PAGFIL     0000001C            

CEB$W_WQCNT      0000001C            PCB$V_NOACNT   = 0000000F            PHD$L_PC         000000C0            

COM              0000003C R     03   PCB$V_NODELET  = 00000017            PHD$L_PCB        00000078            

COMPUTE          000000AE R     03   PCB$V_PHDRES   = 00000012            PHD$L_PGFLCNT    00000034            

EVT$_SWPOUT      ********   X   03   PCB$V_PSWAPM   = 00000004            PHD$L_PGFLQUOTA  0000005C            

EXE$GQ_SYSTIME   ********   X   03   PCB$V_PWRAST   = 00000016            PHD$L_PSL        000000C4            

EXIT             000000AA R     03   PCB$V_RES      = 00000000            PHD$L_PSTBASOFF  00000020            

GBL...         = 00000000            PCB$V_RESPEN   = 00000005            PHD$L_PTWSLELCK  00000064            

IPL$_ASTDEL    = 00000002            PCB$V_SSFEXC   = 00000006            PHD$L_PTWSLEVAL  00000068            

IPL$_HWCLK     = 00000018            PCB$V_SSFEXCE  = 00000007            PHD$L_R0         00000088            

IPL$_IOPOST    = 00000004            PCB$V_SSFEXCS  = 00000008            PHD$L_R1         0000008C            

IPL$_MAILBOX   = 0000000B            PCB$V_SSFEXCU  = 00000009            PHD$L_R10        000000B0            

IPL$_POWER     = 0000001F            PCB$V_SSRWAIT  = 0000000A            PHD$L_R11        000000B4            

IPL$_QUEUEAST  = 00000006            PCB$V_SUSPEN   = 0000000B            PHD$L_R12        000000B8            

IPL$_SCHED     = 00000003            PCB$V_SWPVBN   = 00000010            PHD$L_R13        000000BC            

IPL$_SYNCH     = 00000007            PCB$V_WAKEPEN  = 0000000C            PHD$L_R2         00000090            

IPL$_TIMER     = 00000007            PCB$V_WALL     = 0000000D            PHD$L_R3         00000094            

KICKOUT          0000009F R     03   PCB$W_APTCNT     00000034            PHD$L_R4         00000098            

NEXTCEB          0000002B R     03   PCB$W_ASTCNT     0000003C            PHD$L_R5         0000009C            

NEXTPR           00000099 R     03   PCB$W_BIOCNT     0000003E            PHD$L_R6         000000A0            

NEXTSTATE        00000019 R     03   PCB$W_BIOLM      00000040            PHD$L_R7         000000A4            

OSWPFLGS         0000000A R     04   PCB$W_BYTCNT     00000042            PHD$L_R8         000000A8            

OSWPSTATE        0000000B R     03   PCB$W_BYTLM      00000068            PHD$L_R9         000000AC            

PCB$B_ASTACT     0000000C            PCB$W_DIOCNT     00000044            PHD$L_REFERFLT   00000014            

PCB$B_ASTEN      0000000D            PCB$W_DIOLM      00000046            PHD$L_SSP        00000080            

PCB$B_PRI        0000000B            PCB$W_FILCNT     00000048            PHD$L_USP        00000084            

PCB$B_PRIB       00000033            PCB$W_GPGCNT     00000038            PHD$L_WSL        00000118            

PCB$B_TYPE       0000000A            PCB$W_GRP        00000022            PHD$M_DALCSTX  = 00000002            

PCB$B_WEFC       00000032            PCB$W_MEM        00000020            PHD$M_PFMFLG   = 00000001            

PCB$C_LENGTH     0000007C            PCB$W_MTXCNT     0000000E            PHD$M_WSPEAKCHK= 00000004            

PCB$K_LENGTH     0000007C            PCB$W_PPGCNT     0000003A            PHD$Q_PRIVMSK    00000000            

PCB$L_ASTQBL     00000014            PCB$W_PRCCNT     0000006A            PHD$S_ASTLVL   = 00000008            

PCB$L_ASTQFL     00000010            PCB$W_SIZE       00000008            PHD$S_P0LR     = 00000018            

PCB$L_EFC2P      00000058            PCB$W_STATE      00000030            PHD$V_ASTLVL   = 00000018            

PCB$L_EFC3P      0000005C            PCB$W_TMBU       00000036            PHD$V_DALCSTX  = 00000001            

PCB$L_EFCS       00000050            PCB$W_TQCNT      0000004A            PHD$V_P0LR     = 00000000            

PCB$L_EFCU       00000054            PHD$B_ASTLVL     000000CF            PHD$V_PFMFLG   = 00000000            

PCB$L_EFWM       0000004C            PHD$B_DFPFC      00000038            PHD$V_WSPEAKCHK= 00000002            

PCB$L_OWNER      0000001C            PHD$B_PAGFIL     0000001F            PHD$W_ASTLM      00000044            

PCB$L_PHD        00000064            PHD$B_PGTBPFC    00000039            PHD$W_BAK        00000048            

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   8

SYMBOL TABLE                                                                                                                     (1)



PHD$W_DFWSCNT    0000001A            PR$_SLR        = 0000000D            

PHD$W_EMPTPG     000000D8            PR$_SSP        = 00000002            

PHD$W_EXTDYNWS   00000076            PR$_TBIA       = 00000039            

PHD$W_FILLM      00000060            PR$_TBIS       = 0000003A            

PHD$W_FLAGS      0000003A            PR$_TODR       = 0000001B            

PHD$W_PHVINDEX   00000046            PR$_TXCS       = 00000022            

PHD$W_PRCLM      00000042            PR$_TXDB       = 00000023            

PHD$W_PST        00000020            PR$_USP        = 00000003            

PHD$W_PSTBASMAX  0000004A            PR$_WCSA       = 0000002C            

PHD$W_PSTFREE    00000026            PR$_WCSD       = 0000002D            

PHD$W_PSTLAST    00000024            SCH$AQ_COMOH     ********   X   03   

PHD$W_PTCNTACT   00000070            SCH$AQ_WQHDR     ********   X   03   

PHD$W_PTCNTLCK   0000006C            SCH$C_CEF      = 00000003            

PHD$W_PTCNTMAX   00000072            SCH$C_COLPG    = 00000001            

PHD$W_PTCNTVAL   0000006E            SCH$C_COM      = 0000000C            

PHD$W_QUANT      00000040            SCH$C_COMO     = 0000000D            

PHD$W_TQLM       00000062            SCH$C_CUR      = 0000000E            

PHD$W_WSAUTH     0000000A            SCH$C_FPG      = 0000000B            

PHD$W_WSDYN      0000000E            SCH$C_HIB      = 00000007            

PHD$W_WSFLUID    00000074            SCH$C_HIBO     = 00000008            

PHD$W_WSLAST     00000012            SCH$C_LEF      = 00000005            

PHD$W_WSLIST     00000008            SCH$C_LEFO     = 00000006            

PHD$W_WSLOCK     0000000C            SCH$C_MWAIT    = 00000002            

PHD$W_WSLX       0000004A            SCH$C_PFW      = 00000004            

PHD$W_WSNEXT     00000010            SCH$C_SUSP     = 00000009            

PHD$W_WSQUOTA    00000018            SCH$C_SUSPO    = 0000000A            

PR$_ACCR       = 00000029            SCH$GQ_CEBHD     ********   X   03   

PR$_ACCS       = 00000028            SCH$OSWPSCHED    0000000B RG    03   

PR$_ASTLVL     = 00000013            SCH$RSE          ********   X   03   

PR$_ESP        = 00000001            SWP$GB_ISWPRI    ********   X   03   

PR$_ICCS       = 00000018            TMP...         = 00000000            

PR$_ICR        = 0000001A            WQH$C_LENGTH     0000000C            

PR$_IPL        = 00000012            WQH$K_LENGTH     0000000C            

PR$_ISP        = 00000004            WQH$L_WQBL       00000004            

PR$_KSP        = 00000000            WQH$L_WQFL       00000000            

PR$_MAPEN      = 00000038            WQH$W_WQCNT      00000008            

PR$_NICR       = 00000019            WQH$W_WQSTATE    0000000A            

PR$_P0BR       = 00000008            WSCAN            0000004D R     03   

PR$_P0LR       = 00000009            _V_CEF         = 00000000            

PR$_P1BR       = 0000000A            _V_DIOCNT      = 00000001            

PR$_P1LR       = 0000000B            _V_INQUAN      = 00000002            

PR$_PCBB       = 00000010            _V_NDIOCNT     = 00000003            

PR$_PME        = 0000003D            _V_PRIORITY    = 00000004            

PR$_RXCS       = 00000020            

PR$_RXDB       = 00000021            

PR$_SBIER      = 00000034            

PR$_SBIFS      = 00000030            

PR$_SBIMT      = 00000033            

PR$_SBIQC      = 00000036            

PR$_SBIS       = 00000031            

PR$_SBISC      = 00000032            

PR$_SBITA      = 00000035            

PR$_SBR        = 0000000C            

PR$_SCBB       = 00000011            

PR$_SID        = 0000003E            

PR$_SIRR       = 00000014            

PR$_SISR       = 00000015            

OSWPSCHED       - SWAP SCHEDULER                                 21-AUG-1978 20:01:31   VAX-11 MACRO X0.3-11               Page   9

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            0000011C      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

$OSWPSCHED2      000000DA      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$OSWPSCHED1      0000000A      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

17494. BYTES LEFT IN FREE MEMORY POOL.

2576. BYTES OF RECLAIMED MEMORY.

OBJ$:OSWPSCHED,LIS$:OSWPSCHED/-SP=EXECML$/ML,SRC$:OSWPSCHED

4 MLB DIR RDS - 558 GETS TO DEFINE 20 MACROS. 31 INTER. FILE WRITES. 

