Cleanup typos.
[retro-software/dec/tops10/v4.5.git] / src / schedb.mac
index 16c0de7..d23cdcb 100644 (file)
@@ -8,6 +8,7 @@ SUBTTL  CLKCSW R,KRASIN/AF/TH/RCC  TS  02 JUNE 69  V421
 XP VSCHED,421\r
                ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP\r
 \r
+\r
 INTERNAL       FTRC10  ;THIS SOURCE FILE MAY BE ASSEMBLED TO USE EITHER THE\r
                ; NEW PDP-10 DISK (MODEL RC-10) OR THE OLD PDP-6 DISK (DATA\r
                ; PRODUCTS DISK FILE) FOR SWAPPING.\r
@@ -21,6 +22,7 @@ IFE   FTRC10, <
 ENTRY  XCKCSW\r
 >\r
 \r
+\r
 EXTERNAL JOB,JBTSTS\r
 EXTERNAL JBTQ,PJBSTS\r
 EXTERNAL PJBSTS,TIMEF,MJOBN\r
@@ -48,6 +50,7 @@ NXTINI:       MOVEI TAC,MAXQ          ;MAX. NO. OF QUEUES
        SETZM XJOB              ;CLEAR NO. OF JOBS NEEDING EXPANDING\r
        SETZM JOBQUE            ;CLEAR JOB NO. TO BE REQUEUED\r
        POPJ PDP,\r
+\r
 \f,NXTJOB DECREMENTS CURRENT JOB'S QUANT. AND PROTECT\r
 ,TIMES AND REQUEUES IT IF QUANT. TIME GONE TO 0\r
 ,SERVINCES ANY JOB REQUEING REQUESTED AT OTHER PRIORITY\r
@@ -55,6 +58,7 @@ NXTINI:       MOVEI TAC,MAXQ          ;MAX. NO. OF QUEUES
 ,MAKES NO ASSUMPTIONS RE. ACS\r
 ,RETURSN NEXT JOB TO RUN IN J.\r
 \r
+\r
 EXTERNAL JBTSWP,POTLST\r
 \r
 NXTJOB:        SKIPN TIMEF             ;CLOCK TIC?\r
@@ -66,7 +70,6 @@ NXTJOB:       SKIPN TIMEF             ;CLOCK TIC?
        JRST .+3\r
        SKIPL JBTSWP(J)\r
        ADDM SW,JBTSWP(J)\r
-\r
        AOBJN J,.-4\r
 \r
 NXTJB1:        SKIPN J,JOB             ;CURRENT JOB NO., IS IT NULL JOB?\r
@@ -140,8 +143,7 @@ IFE FTSWAP,<        EXTERNAL CHKSHF
        PUSHJ PDP,CHKSHF\r
 >\r
 IFN FTSWAP,<\r
-       PUSHJ PDP,SWAP\r
->\r
+       PUSHJ PDP,SWAP>\r
 \r
 ;SCHEDULAR--SEARCH THRU QUEUES ACCORDING TO SSCAN TABLE\r
 ;FOR 1ST JOB IN CORE--RETURN ITS NO. IN J\r
@@ -164,6 +166,7 @@ SCHD1:      SETZ J,                 ;RETURN NULL JOB
        POPJ PDP,\r
 \r
 \r
+\r
 ;TEMPORARY EXPERIMENTAL SCHEDULING CHANGE TO PERMIT TTY-I/O-WAIT-SATISFIED JOBS ON\r
 ; THE DISK TO DISPLACE I/O BOUND JOBS IN CORE.... R.CLEMENTS/D.PLUMER 9 MAY 68\r
 CKJB10:        SKIPE   INFLG\r
@@ -207,7 +210,8 @@ INTERNAL QXFER,QSCAN,FTSWAP,FTDISK
 ,BOTH ROUTINES ARE "TABLE DRIVEN" IN THE SENSE THAT THE\r
 ,CALLING ROUTINE PROVIDES THE ADDRESS OF A TABLE WHICH\r
 ,DEFINES THE SPECIFIC OPERATIONS TO BE PERFORMED.\r
-\f;QUEUE INITIALIZATION\r
+\f\r
+;QUEUE INITIALIZATION\r
 ;PUT ALL JOBS IN NULL QUEUE(JOB NO. NOT ASSIGNED)\r
 ;CALLED ON RESTART AT LOC 143\r
 \r
@@ -225,7 +229,6 @@ QINI:       MOVNI TAC,MXQUE         ;MAKE ALL QUEUE HEADERS POINT TO THEMSELVES
        MOVSM TAC,JBTQP1        ;BACK POINTER FOR JOB 1\r
        MOVEI ITEM,JOBMAX       ;MAX. JOB NO.\r
        MOVEM TAC,JBTQ(ITEM)    ;FOR. POINTER OF JOBMAX JOB NO.\r
-\r
        HRLM ITEM,JBTQMN        ;SET NULQ HEADER TO POINT TO JOB1\r
        MOVEI TAC,1             ;AND JOBMAX\r
        HRRM TAC,JBTQMN ;FORWARD POINTER\r
@@ -234,7 +237,8 @@ QINI1:      HRRM ITEM,JBTQM1(ITEM)  ;JOB I-1 POINT TO JOB I
        SOJLE ITEM,CPOPJ        ;FINISHED?\r
        HRLM ITEM,JBTQP1(ITEM)  ;BACK POINTER JOB I+1 POINTS TO JOB I\r
        JRST QINI1\r
-\f,DELETES A JOB FROM ITS "SOURCE-Q", DETERMINES A "DEST-Q"\r
+\f\r
+,DELETES A JOB FROM ITS "SOURCE-Q", DETERMINES A "DEST-Q"\r
 ,ACCORDING TO ONE OF 3 FUNCTIONS, AND INSERTS THE JOB AT\r
 ,THE BEGINNING OR END OF THIS DEST-Q. IN ADDITION IT MAY\r
 ,RESET THE JOB'S QUANTUM TIME (RH JBTSTS).\r
@@ -280,7 +284,6 @@ QINI1:      HRRM ITEM,JBTQM1(ITEM)  ;JOB I-1 POINT TO JOB I
 , <QUANT-TAB>: EXP <QUANT1>    ;CORRES. TO <Q-TAB>+0\r
 ,              ...\r
 ,              EXP <QUANTN>    ;CORRES. TO <Q-TAB>+N-1\r
-\r
 ,              Z\r
 ,\r
 , UPON A CALL TO QXFER FOR THESE 2 CODES, AC T2 CONTAINES\r
@@ -291,6 +294,7 @@ QINI1:      HRRM ITEM,JBTQM1(ITEM)  ;JOB I-1 POINT TO JOB I
 , <QUANT-TAB> TABLE.\r
 , IF NO MATCH FOUND..NO TRANSFER TAKES PLACE.\r
 \r
+\r
 ,DEST-Q AS A FUNCTION OF JOB SIZE\r
 ,BQJSIZ INSERT AT BEG OF DEST-Q\r
 ,EQJSIZ INSERT AT END\r
@@ -315,7 +319,7 @@ QINI1:      HRRM ITEM,JBTQM1(ITEM)  ;JOB I-1 POINT TO JOB I
 \f,CALLING SEQUENCE:\r
 ,      MOVE  J,[JOB NUMBER]\r
 ,      MOVE T2,[CURRENT Q]     ;BQLINK AND EQLINK ONLY\r
-;      MOVEI TT,TRANS TABLE ADDRESS\r
+,      MOVEI TT,TRANS TABLE ADDRESS\r
 ,      PUSHJ PDP,QXFER\r
 ,      ...             ;RETURN\r
 ,  ON RETURN J IS UNALTERED; LH(Q)=-1  IF QUANT, TIME OUT\r
@@ -354,7 +358,8 @@ QX2:        MOVS T2,Q               ;T2 IS ADDR. OF QUANT.TIME(IF REQUESTED)
        HRRO Q,(Q)              ;RH(Q)=DEST-Q;LH=-1(NO QUANT.TIME REQ.)\r
        SKIPL 1(TT)             ;WAS QUANT. TIME REQUESTED?\r
        HRL Q,(T2)              ;YES--GET IT\r
-\f,FIXED DEST-Q\r
+\f\r
+,FIXED DEST-Q\r
 QFIX:  MOVE T1,JBTQ(J)         ;DELETE JOB FROM SOURCE-Q\r
        MOVS T2,T1              ;T1=FORW. LINK, T2=BACK LINK\r
        HRRM T1,JBTQ(T2)        ;FORW, LINK PAST JOB\r
@@ -372,7 +377,6 @@ QFIX:       MOVE T1,JBTQ(J)         ;DELETE JOB FROM SOURCE-Q
 \r
        JUMPL Q,QX3             ;RETURN IF QUANT. TIME NOT REQ.\r
        HLRM Q,JBTSTS(J)        ;SET QUANT. TIME\r
-\r
        MOVEI TT,RNQ            ;SET JOB STATUS WAIT\r
        DPB TT,PJBSTS           ;CODE TO RUN QUEUE (0).\r
 QX3:   POPJ PDP,\r
@@ -466,6 +470,7 @@ A'AVAL: 0
 >\r
 \r
 INTERNAL AVALTB\r
+\r
 AVALTB:        QUEUES  ;GENERATE THE AVAL FLAGS\r
 LOC=.-AVALTB\r
 >\r
@@ -492,7 +497,8 @@ LOC=LOC+1
 PQ3=LOC\r
 LOC=LOC+1\r
 CMQ=LOC                ;COMMAND DELAY QUEUE\r
-\f;CORRESPONDENCE TABLE BETWEEN JOB STATUS CODES AND QUEUE TRANSFER TABLES\r
+\f\r
+;CORRESPONDENCE TABLE BETWEEN JOB STATUS CODES AND QUEUE TRANSFER TABLES\r
 ;USED BY SCHEDULER\r
 ;RUNCSS SETS JOB STATUS WORD TO NEW STATE CODE.\r
 ;SCHEDULER SETS UP QUEUE TRANSFER TABLE ADDRESS FROM\r
@@ -555,6 +561,7 @@ EXTERNAL XJOB
 >>\r
 IFE FTCHECK+FTMONP,<\r
 \r
+\r
 INTERNAL JOBQUE\r
 JOBQUE:        0       ;JOBS TO BE REQUEUED ON CLOCK INTERRUPT\r
 \r
@@ -623,11 +630,6 @@ QTIME:     PTTAB EQLINK,QTTAB,QQSTAB       ;MOVE JOB TO LOWER Q
 QSTAB: XWD 4,-PQ1      ;PQ1 IF     SIZE .LE. 4K\r
        XWD ^D16,-PQ2   ;PQ2 IF  4K .L. SIZE .LE. 16K\r
        XWD ^D256,-PQ3  ;PQ3 IF 16 .L. SIZE\r
-\r
-,PUT JOB DOWN A Q IF EXCEEDS QUANT. TIME\r
-QQTAB: XWD -PQ1,-PQ2\r
-       XWD -PQ2,-PQ3\r
-       XWD -PQ3,-PQ2           ;BACK TO PQ2 TO COMPETE WITH IOWS JOBS\r
        Z\r
 \r
 ,PUT JOB DOWN A Q IF EXCEEDS QUANT. TIME\r
@@ -693,6 +695,7 @@ OSCAN:      ;SCAN FOR OUTPUT
        Z\r
        Z                       ;FINAL ZERO TO FLAG END\r
 >\r
+\r
 \fSUBTTL        SWAP R. KRASIN/AF TS4.34  03 FEB 69  V406\r
 \r
 ,SWAPPER CALLED EVERY CLOCK TIC.\r
@@ -712,7 +715,6 @@ OSCAN:      ;SCAN FOR OUTPUT
 , IF ONE--WILL LOW(HIGH) SEG FIT IN LARGEST HOLE IN CORE?\r
 ,   YES--START INPUT AND RETURN\r
 ,   NO--IS TOTAL FREE CORE(CORTAL) ENOUGH TO ACCOMMODATE LOW(HIGH) SEG?\r
-\r
 ;      YES--CALL CORE SHUFFLER\r
 ;        IS SHUFFLER WAITING FOR IO TO STOP?\r
 ;          YES--RETURN AND DO NOTHING\r
@@ -825,7 +827,7 @@ IFN PROG-JDAT,<
 IFN FT2REL,<\r
        EXTERN FINOT\r
        PUSHJ PDP,FINOT         ;IS THIS A HIGH SEG WHICH WAS JUST SWAPPED OUT?\r
-                               ;YES, J SET TO LOW SEG NO, GO TRY SWAP IT OUT\r
+       JRST FORCEL             ;YES, J SET TO LOW SEG NO, GO TRY SWAP IT OUT\r
                                ; NO, THIS WAS A LOW SEG, ALL SWAPPING FOR THIS USER\r
                                ; IS FINISHED.\r
 >\r
@@ -887,7 +889,8 @@ SWPREC:     MOVE    TAC,SERA        ;ERROR FLAGS
        LDB     TAC,IMGOUT\r
        TLO     TAC,1\r
        ADDM    TAC,SWPERC\r
-       JRST    SWAPO           ;GO TRY AGAIN\r
+       JRST SWAPO              ;GO TRY AGAIN\r
+\r
 \r
 ;NO INPUT TO DD, CHECK FOR EXPANDING JOBS\r
 CHKXPN:        SKIPG XJOB              ;ANY JOBS TO EXPAND\r
@@ -895,7 +898,6 @@ CHKXPN:     SKIPG XJOB              ;ANY JOBS TO EXPAND
                                ; YES, FALL INTO SCNOUT WHICH WILL SWAP OUT EXPANDING\r
                                ; JOB SINCE THERE IS ONE\r
 ;INPUT TO DO, CHECK TO SEE IF ANY JOBS JUST HAPPEN TO WANT TO EXPAND\r
-\r
        EXTERN HIGHJB,JBTSTS,ERROR,MAXSIZ,MAXJBN,SUMCOR\r
 SCNOUT:        SKIPG XJOB              ;ANY JOBS WAITING TO EXPAND?\r
        JRST SCNJOB             ;NO, SCAN ALL JOBS IN PRIORITY ORDER LOOKING\r
@@ -905,7 +907,8 @@ SCNOUT:     SKIPG XJOB              ;ANY JOBS WAITING TO EXPAND?
        TDNN T,JBTSTS(J)        ;IS THIS JOB EXPANDING?\r
        SOJG J,.-1              ;NO, KEEP LOOKING\r
        IFN FTRCHK,<\r
-       JUMPG J,SCNOK           ;CLEAR XJOB SO MESSAGE WILL PRINT\r
+       JUMPG J,SCNOK\r
+       SETZM XJOB              ;CLEAR XJOB SO MESSAGE WILL PRINT\r
        JSP DAT,ERROR           ;ERROR IF NONE FOUND\r
 >\r
 SCNOK: SOS XJOB                ;DECREMENT COUNT OF EXPANDING JOBS\r
@@ -929,7 +932,7 @@ SCNJOB:     MOVE T,CORTAL           ;INITIALIZE FREE CORE COUNTER
                                ; PROTECT TIME IS DECREMENTED ONLY WHEN\r
                                ; A JOB IS RUNABLE, SO LOOK AT IT\r
                                ; ONLY IF RUN BIT STILL ON\r
-       TLNE T,NSWP+SWP         ;NO, IS THIS JOB NOT TO BE SWAPPED OR ALREADY SWAPPED?\r
+       TLNE T,NSWP+SWP         ;NO, IS THIS JOB NOT TO BE SWAPPED OR ALREADY SWAPPED?     \r
                                ; (DISPLAY, REAL TIME)?\r
        JRST (TAC1)             ;YES,CONTINUE SCAN TO FIND ANOTHER\r
        HLRZ T,JBTADR(J)        ;PICK UP SIZE OF JOB\r
@@ -969,7 +972,6 @@ IFN FT2REL,<
                                ; 5. HIGH SEG NOT ON DISK YET\r
                                ; 6. THIS HIGH SEG IS NOT THE SAME ONE AS JOB\r
                                ;    BEING FITTED IN IS GOING TO WANT\r
-\r
                                ; RETURN HIGH SEG NO. IN J IF YES, OTHERWISE\r
                                ; RETURN LOW SEG NO.\r
                                ; IF JOB JUST HAS LOW SEG. SHF BIT IS SET IN JBTSTS\r
@@ -1048,7 +1050,6 @@ FULL1A:   PUSHJ   PDP,GXSAT       ;GET SOME SWAPPING SPACE
        POP     PDP,DAT         ;RESTORE AMT GOTTEN\r
        HRLM    DAT,(AC3)       ;SAVE AMOUNT IN TABLE\r
        SUB     T,DAT           ;AMOUNT STILL NEEDED\r
-\r
        JUMPE   T,FULSET        ;THROUGH IF NEED 0 K NOW\r
        PUSHJ   PDP,BMPAC3      ;STEP TO NEXT TABLE LOCATION\r
        MOVE    DAT,T           ;TRY TO GET ALL WE NEED NOW IN 1 CHUNK\r
@@ -1173,7 +1174,6 @@ CHG1:     ADDM TAC1,VIRTAL        ;INCREASE SIZE OF VIRTUAL CORE AVAILABLE IN SYSTEM
 \r
        PUSH PDP,DAT            ;SAVE TTY OUTPUT BYTE POINTER(COMMAND DECODER)\r
        LDB DAT,IMGOUT          ;*SIZE ON DISK(1K BLOCKS)\r
-\r
        JUMPE DAT,CHG3          ;DID SEG HAVE ANY DISK SPACE?\r
        HLRZ TAC,JBTSWP(ITEM)   ;*YES, LOGICAL DISK BLOCK+FRGSEG BIT\r
        PUSHJ PDP,FXSAT         ;*FREE THE DISK BLOCKS NO LONGER NEEDED\r
@@ -1215,7 +1215,6 @@ XPAND:    LSH TAC,-12             ;CONVERT HIGHEST DESIRED ADDRESS
 ;ROUTINE TO FLAG JOB TO BE STOPPED AND SWAPPED OUT\r
 ;BECAUSE IT HAS JUST BEEN CONNECTED TO A HIGH SHARABLE SEG WHICH IS ON DISK\r
 ;OR ON ITW WAY IN OR OUT.  THE SIZE OF THE HIGH SEG IS UNCHANGED\r
-\r
 ;THE JOB MUST BE STOPPED UNTIL HIGH SEG SWAPPED IN JUS AS IF JOB HAS\r
 ;EXPANDED HIGH SEG(MUST BE CALLED FROM UUO LEVEL FOR CURRENT JOB IF HIGH SEG)\r
 ;CALL: MOVE ITEM,HIGH SEG NUMBER\r
@@ -1262,6 +1261,7 @@ SQOUT:    MOVEM TAC,SERA          ;STORE THE BLOCK NUMBER
        EXCH TAC,DFBUSY \r
        JUMPN TAC,CPOPJ         ;YES IF JUMP\r
 \r
+\r
 ERATRY=3       ;NO. OF TIMES TO READ AND WRITE ON ERRORS\r
 \r
 ;START UP DEVICE WITH SWAPPING REQUEST. THIS ROUTINE\r
@@ -1299,7 +1299,6 @@ FRGIO1:   HLRE    DAT,(TAC)       ;NO OF K IN THIS  DISK CHUNCK
        ORM TAC,SERA            ;INSERT NEW ADDRESS\r
        JRST FRGIO1\r
 \r
-\r
 FRGIO2:        LSH     DAT,12          ;CONVERT FROM K TO WORDS\r
        ADDM DAT,SQLEN          ;ADD TO PREVIOUSLY TRANSFERRED AMOUNT\r
        MOVNS DAT               ;-N WORDS\r
@@ -1374,7 +1373,6 @@ GXSAT:    MOVE AC1,XSAT1          ;SAVE AC1, SET IT TO TABLE LOC.
        MOVE AC2,XSAT2  ;\r
        LSH DAT,CONVMD          ;CONVERT TO 128 WORD DISK BLOCKS\r
        PUSH PDP,ITEM           ;SAVE C(ITEM)\r
-       \r
        MOVE ITEM,DAT           ;GETBIT EXPECTS PARAMETER IN ITEM\r
        PUSHJ PDP,GETBIT        ;FIND A HOLE BIG ENOUGH\r
        JRST IPOPJ              ;NONE, RESTORE ITEM AND ERROR RETURN\r
@@ -1408,7 +1406,6 @@ FXSAT:    LSH TAC,CONVMD          ;RESTORE SHIFTED DISK ADDRESS.
        JRST IPOPJ              ;RETURN, AND RESTORE ITEM\r
 \r
 ;INITIALIZE SWAPPER DISK STORAGE TABLE\r
-\r
 INTERNAL SWPINI\r
 \r
 SWPINI:        MOVE TAC,XSAT2\r
@@ -1480,7 +1477,6 @@ SWPSIZ=XSAT6-XSAT4+1              ;SIZE OF TABLE
 HISWAP=17*BLOCKS               ;LOGICAL BLOCK NUMBER OF FIRST\r
                                ; BLOCK ON DISK\r
 DIFF=HISWAP-BLOCKS-1\r
-\r
 XP CONVMD,3    ;CONVERSION FROM 1K CORE BLOCKS TO 128 WORD\r
                ;DISC BLOCKS(SHIFT COUNT)\r
 \r
@@ -1543,7 +1539,6 @@ GXSAT:    PUSH    PDP,ITEM        ;THIS ROUTINE SAVES AND RESTORES ACCUMULATOR "ITEM".
 \r
 FXSAT: TRZN    TAC,FRGSEG      ;FRAGMENTED?\r
        JRST    FXSAT1          ;NO. DO IN REGULAR WAY\r
-\r
 FRAGBK:        HRRZ    AC3,TAC         ;YES. LOC OF TABLE IN AC3\r
 FRGBK1:        HRRZ    TAC,(AC3)       ;LOC OF NEXT DISK ADDRESS\r
        HLRE    DAT,(AC3)       ;NUMBER OF K\r
@@ -1576,6 +1571,8 @@ FXSAT1:   PUSH    PDP,ITEM        ;THIS ROUTINE SAVES AND RESTORES ACCUMULATOR "ITEM".
 FXSATC:        PUSHJ   PDP,CLRBIT      ;THE "CLRBIT" SUBROUTINE IN "DSKSER" ACTUALLY DOES\r
                                ; THE WORK OF CLEARING THE BITS.\r
        JRST IPOPJ              ;RESTORE ITEM AND RETURN\r
+\r
+\f\r
 ;ROUTINE TO RE-INITIALIZE THE SWAPPING AVAILABILITY TABLE. CALLED AT\r
 ; SYSTEM INITIALIZATION TIME.\r
 \r
@@ -1647,4 +1644,3 @@ SQLEN:    0                       ;AMOUNT TRANSFERRED SO FAR FOR FRAGMENTED JOB
 >\r
 >      ;END OF SWPSER LOGIC FOR THE NEW PDP-10 DISK.\r
 \fSCHEND:       END\r
-\0\r