{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SCHEDOUT865)}}
====== SCHEDOUT865 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:COBJUSE|COBJUSE]], [[george:macro:ENDCCYCLE|ENDCCYCLE]], [[george:macro:FINDJOBQ|FINDJOBQ]], [[george:macro:FPCAJO|FPCAJO]], [[george:macro:FPUT|FPUT]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JMBS|JMBS]], [[george:macro:LA|LA]], [[george:macro:LINK|LINK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:MBI|MBI]], [[george:macro:MOBJQUOTA|MOBJQUOTA]], [[george:macro:OFF|OFF]], [[george:macro:PAIR|PAIR]], [[george:macro:PROGAXES|PROGAXES]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:STOPIT|STOPIT]], [[george:macro:SWAP|SWAP]], [[george:macro:TRACE|TRACE]], [[george:macro:TRACEDP|TRACEDP]], [[george:macro:TRACEVER|TRACEVER]], [[george:macro:UNPLUG|UNPLUG]]
22FL ...#SEG SCHEDOUT [DEK BEASLEY :CENT
22^= #OPT K0SCHEDOUT=0
23DW #LIS K0SCHEDOUT>K0ALLGEO>K0LLS
23YG 8HSCHEDOUT
24D6 #
24XQ #
25CB # THIS SEGMENT IS THE PART OF THE PROGRAM CONTROLLER WHICH DEC
25X2 # WHICH OBJECT PROGRAM SHOULD VACATE CORE SPACE TO MAKE ROOM FOR ANO
26BL # UNPLUGGING THE PROGRAM FROM EXECUTIVE IF NECESSARY BEFORE INITIATI
26W= # SWAPOUT.
27*W # THE ENTRY POINTS ARE AS FOLLOWS:
27TG #
28*6 # K1 : MAIN ENTRY TO SELECT A PROGRAM FOR SWAPOUT
28SQ # K2 : ENTRY WHEN QUOTA NOT MET OR FINGER IS ON SOME SPECIFIC
29#B # PROGRAM
29S2 # K3 : CORE UNJAMMER WANTS A SWAPOUT SO LOOK BY SLLSOUT 1ST,
2=?L #
2#=6 SEGENTRY K1SCHEDOUT,XX1S
2#PQ SEGENTRY K2SCHEDOUT,XX2S
2*9B SEGENTRY K3SCHEDOUT,XX3S
2BN=
2C7W UNPL
2CMG LINK UNPLUG,7
2D76 P11 PAIR CHARGESC,1
2F6B #SKI G3
2FL2 P13 PAIR SWAP,2 [SWAP OUT
2G5L #SKI G4
2GK= P13 PAIR SWAPOUT,1
2H4W P17 PAIR PERFAIL,2 [ON-LINE PERI FAIL
2JHQ P18 PAIR EVENTS,5 [FOR PROGRAM TIMEUP
2K3B #
2KH2 #
2L2L TJOB
2LG= FINDJOBQ 3,6,(GEOERR) [X3 -> JOBBLOCK.
2L^W EXIT 7 0
2MFG [
2M^6 [ THIS SUBROUTINE DECIDES WHAT TO SWAPOUT TO MAKE WAY FOR A SWAPIN
2NDQ [
2NHD ...[ WE INSPECT ALL THE SWAPPED IN PROGRAMS FOR EACH JOB AND COMPARE
2NL6 ...[ ITS CP WITH THAT OF THE PROGRAM TO BE SWAPPED IN.IF
2NNS ...[
2NRG ...[ (1) CP IS >,THEN NOT CONSIDERED AS A CANDIDATE FOR S/O
2NW8 ...[
2NYW ...[ (2) CP D,THEN ITS CP IS COMPARED WITH THE CP OF
2PF2 ...[ THE BEST CANDIDATE FOUND SO FAR
2PHN ...[ (A) IF >,THEN PROGRAM NOT CONSIDERED
2PLB ...[ (B) IF <,THEN PROGRAM MADE BEST CANDIDATE SO FAR
2PP4 ...[ (C) IF =,SIZES OF THE TWO ARE COMPARED WITH THE AMOUNT WHICH LLS
2PRQ ...[ UNABLE TO OBTAIN.THE SMALLEST PROGRAM LARGER THAN THIS IS
2PWD ...[ CHOSEN,IF ONE EXISTS,& IF NOT,THE LARGEST.
2P^6 ...[
2Q3S ...[ ON ENTRY,ACOMMUNE1 = AMOUNT REQ'D BY LLS
2Q6G ...[ AWORK4 +VE IF MOP ENVIRONMENT,CONTENTS BEING HIGHEST
2Q98 ...[ PRIORITY OF ANY MOP JOB WAITING TO GET IN
2Q?W ...[ X4 = CORE PRI. OF PROGRAM WHICH LLS FAILED TO SWAP IN
2QC= [
2QWW [ LINK X7,EXITS +0 IF NONE OR ALREADY SWAPOUT IN PROGRESS
2RBG [ +1 IF SELECTED REQUIRES UNPLUG
2RW6 [ +2 IF SELECTED ALREADY UNPLUGGED
2S*Q [
2STB ...[ ON EXIT,X3 -> JOB BLOCK OF CANDIDATE SELECTED FOR SWAP OUT
2T*2 ...[ X1 = FX1, X2 = FX2
2TSL ...[
2W#= ...[ DURING SUBROUTINE,X3 -> ALONG JOBQ
2WRW ...[ X5 = CP OF BEST CANDIDATE SO FAR(I.E. LOWEST CP)
2X?G ...[ X6 -> ITS JOB BLOCK
2XFQ ...[ IF SWAPPING OF TRULY DORMANT PROGRAMS IS SWITCHED OFF -
2XN2 ...[ AWORK1 = CP OF BEST TRULY DORMANT CANDIDATE FOUND SO FAR
2XW= ...[ AWORK2 = ITS JOB BLOCK
2Y4G ...[ NB TRULY DORMANT PROGRAMS ARE THE BEST CANDIDATES
2Y=Q [
2YQB [
2^=2 SLLSOUT
2^PL LDX 1 FX1
329= LDX 2 FX2
32NW #SKI K6LLSTEST>499-499
338G TRACEVER ACOMMUNE1(2),COREREQD
33N6 JBS (7),,ASWOUTING [SWAPOUT ALREADY IN PROGRESS
347Q LDN 6 0
34MB ... LDN 5 0
34X8 ...#UNS INOSTDP
3572 ...(
35BS ... STOZ AWORK1(2)
35LL ... STOZ AWORK2(2)
35WD ...)
366= LDN 3 BJOBQ
36KW ROUND LDX 3 FPTR(3) [X3 -> NEXT JOBQ BLOCK
375G BXE 3 CXJO,QEND
37K6 JBC ROUND,3,JBSI
384Q #SKI K6LLSTEST>499-499
38JB TRACEVER JOBNUM(3),SWAPDIN
38S8 ...[ DONT SWAP OUT REALTIME OR BEING PLUGGED
3942 JMBS ROUND,3,JBREEF,JBPLUGGING,JBAXES,JBSTOP
394R ...#UNS INOSTDP
395J ...(
396* ... JBS YNOTTD,3,JBRUN
3976 ... [J IF NOT TRULY DORMANT
397X ... LDX 0 AWORK2(2) [JOB BLK ADDR OF
398N ... [BEST TRULY DORMANT PROGRAM SO FAR
399F ... BZE 0 YBESTYET [J IF THIS THE FIRST TR DORMANT
39== ... LDX 0 AWORK1(2) [BEST TR DORMANT CP SO FAR
39?3 ... LDEX 1 ACOREP(3)
39?S ... BXL 0 1,ROUND [J IF THIS CP BIGGER
39#K ... BXU 0 1,YBESTYET
39*B ...YTESTSIZE
39B7 ... SMO AWORK2(2)
39BY ... LDX 0 JCSIZE
39CP ... BXL 0 ACOMMUNE1(2),YUNDER [J IF SIZE SO FAR < REQD
39DG ... LDX 0 JCSIZE(3)
39F? ... BXL 0 ACOMMUNE1(2),ROUND
39G4 ... [J IF SIZE OF CAND. < REQD
39GT ... SMO AWORK2(2)
39HL ... BXGE 0 JCSIZE,ROUND [J IF CAND.SIZE >OR= BEST SO FAR
39JC ...YBESTYET
39K8 ...# WE HAVE NEW TRULY DORMANT BEST SO FAR
39K^ ... STO 3 AWORK2(2) [STORE JOB BLK ADDRESS
39LQ ... LDEX 0 ACOREP(3)
39MH ... STO 0 AWORK1(2) [STORE NEW TRULY DORMANT CP
39N# ... BRN ROUND
39P5 ...YUNDER
39PW ... LDX 0 JCSIZE(3)
39QM ... BXGE 0 ACOMMUNE1(2),YBESTYET [J IF CAND.SIZE > REQD AMOUNT
39RD ... SMO AWORK2(2)
39S9 ... BXL 0 JCSIZE,ROUND [J IFCAND.SIZE < BEST SO FAR
39T2 ... BRN YBESTYET [USE THIS AS NEARER REQD AMT
39TR ...YNOTTD
39WJ ... LDX 0 AWORK2(2)
39X* ... BNZ 0 ROUND
39Y6 ...)
39YX ... LDEX 1 ACOREP(3) [LOAD CP, NB AVOIDING TOP CHAR.
39^N ... BXL 4 1,ROUND [J IF CP > INCOMING CP
3=3= ... LDX 0 4 [DO NOT CONSIDER TIMESLOT EXCEEDED
3=GW ... SBX 0 1 [ IF INCOMING CP-THIS CP IS
3?2G ... BXGE 0 ISWAPDIFF,XLOWCP [ >OR= SWAPDIFF
3?G6 ... LDX 0 AWORK4(2)
3?^Q ... BZE 0 ROUND [J IF NOT MOP ENVIRONMENT
3#FB ... BXL 0 1,ROUND [ONLY USE IF CP OR= BEST SO FAR
3J?B ...XBESTYET [WE HAVE NEW BEST SO FAR
3JR2 ... LDX 6 3 [STORE JOB BLOCK ADDR.
3K=L ... LDEX 5 ACOREP(3) [STORE NEW CP
3KQ= ... BRN ROUND
3L9W ...UNDER [SIZE OF BEST SO FAR < REQ'D AMOUNT
3LPG ... LDX 0 JCSIZE(3)
3M96 ... BXGE 0 ACOMMUNE1(2),XBESTYET [J IF CAND. SIZE > REQ'D AMOUNT
3MNQ ... SMO 6
3N8B ... BXL 0 JCSIZE,ROUND [J IF CAND. SIZE < BEST SO FARS
3NN2 ... BRN XBESTYET [USE THIS AS NEARER REQ'D AMOUNT
3Y2B QEND
3YG2 LDX 1 FX1
3YHY ...#UNS INOSTDP
3YKW ...(
3YMS ... LDX 3 AWORK2(2)
3YPQ ... BZE 3 QEND1 [J IF NO TRULY DORMANT FOUND
3YRN ... EXIT 7 2
3YTL ...QEND1
3YXJ ...)
3Y^L BZE 6 (7) [J IF NONE FOUND
3^F= LDX 3 6
3^YW JBS PLUG,3,JBPLUG
42DG #SKI K6LLSTEST>499-499
42Y6 TRACEVER JOBNUM(3),UNPLUGED
43CQ EXIT 7 2 [UNPLUGGED ALREADY EXIT
43XB [
44C2 [ IF PLUGGED SET STOP WORD AND TRY TO STOP IT SO CAN FPUT PCA
44WL [ IF WE CAN'T WE TRY ALGORITHM AGAIN
45B= [
45TW PLUG FPCAJO 1,3 [X1-> PCA
46*G #SKI K6LLSTEST>499-499
46T6 TRACEVER JOBNUM(3),PLUGIN
47#Q JBS (GEOERR),1,ASTOPSLOT
47SB BS 1,ASTOPSLOT [SET TIME SLOT EXPIRED STOP BIT
48#2 ... STOPIT 1 [ ENSURE IT IS STOPPED (DUALS)
48RL LA ASTOPSLOT
49?= BXU 0 ASTOP(1),YIELD [IF NOT STOPPED ONLY COS OF HERE
49QW BS 1,ASTOPEXEC
4==G LDX 1 FX1 [PCA CAN BE ACTIVE
4=Q6 EXIT 7 1
4?9Q YIELD BC 1,ASTOPSLOT [ENSURE LEAVE BIT CLEAR
4?PB #SKI K6LLSTEST>499-499
4#92 TRACEVER ASTOP(1),STOPWORD
4#NL LDX 1 FX1
4*8= EXIT 7 0 [SAY NONE FOUND
4*MW [
4MDB ...[ ENTRY FROM CORESHED
4MY2 [ CORESHED IF PROGRAM MOVE FRUSTRATED
4NX= [
4QTQ XX2S [K2SCHEDOUT
4R*B [
4RT2 [
4S#L [ MAIN ENTRY: FROM CORESHED IF SWAPOUT REQUIRED
4SS= ...[
4T?W ...[ ENTRY CONDITIONS FOR K1 & K2 ARE
4TRG ...[ AWORK4 -VE IF MOP ENVIRONMENT
4W?6 ...[ ACOMMUNE1 = AMOUNT THAT LLS REQ'D(SET BY CORESHED)
4WQQ ...[ X6 - JOB NO. OF PROGRAM WHICH FAILED TO GET SWAPPED IN
4X=B [
4XQ2 XX1S [K1SCHEDOUT
4Y9L #SKI K6LLSTEST>499-499
4YP= TRACEVER AWORK4(2),SCHOUT1
4^49 ...#UNS ADPLLSKIP
4^C8 ...(
4^Q7 ... LDN 0 2 [- DATAPASS COUNT
5256 ... STO 0 ADPSWPSW [- (LLS SWAPOUT)
52D5 ...)
52R4 ... CALL 7 TJOB [FIND JOB BLOCK FOR JOB NO. IN X6
53=N ... LDEX 4 ACOREP(3) [THEN FIND ITS CORE PRIORITY
57XK ...SELECT
58=J ... CALL 7 SLLSOUT
58KH ... BRN XCORE [NONE
58YG ... BRN UNPLUG [UNPLUG REQUIRED
59?F ... BRN SWAP [JUST SWAP OUT
59LD ...XCORE
59^C ... LDX 6 CJJOBNO
5=#B ... COBJUSE 4
5=M* ... MOBJQUOTA MIN [IF REACHING OQ MIN,NOWT ELSE TO DO
5?2# ... BXGE 4 0,NOBAT
5?*? ... LDN 5 0 [INDICATE NOT REALTIME FRAG.
5?N= ... ACROSS LLSMESS,1 [OUTPUT APPROPRIATE MESSAGE
5#39 ...R11
5#B8 ...#UNS ISTDPSTATS
5#P7 ... TRACEDP ASCHEDFPC
5*46 ... BRN R12
5*CG [
5JPW SWAP LDN 1 P13(1) [UNPLUGGED: X1-> SWAP LINK
5K9G BRN MEET
5KP6 UNPLUG
5L8Q #SKI K6LLSTEST>499-499
5LNB TRACEVER ACOMMUNE1(2),UNPLUG
5M82 LDN 1 UNPL(1) [X1-> UNPLUG LINK
5MML MEET FPCAJO 2,3
5N7= LINKSET 2,0(1) [SET APPROPRIATE LINK
5N=4 ... MBI 3,JBSI,JBBEING [MARK BEING SWAPPED
5N#W ...[
5NCN ...[
5NGG ...[ THE FOLLLOWIG CURES B3211WHEREBY BEFORE STARTIG SWAPOUT
5NK# ...[ WE DID NOT DO A PROGAXES !!
5NN6 ...[ DONE 11TH JULY 75 :CENT
5NQY ...[
5NTQ ... PROGAXES 3,(GEOERR)
5NYJ ... TRACE JOBNUM(3),SWAPOUTS
5P3B ...[
5P6G FPUT [LET IT RUN
5PL6 BS ,ASWOUTING [INDICATE SWAPOUT IN PROGRESS
5Q5Q #
5QKB # TERMINATE
5R52 R12 LDX 2 FX2 [NO SWAPPABLE PROGS FOUND BY SLLSOUT
5RJL #SKI K6LLSTEST>499-499
5S4= TRACEVER COBJFAIL,NONFOU
5SHW BXE 2 BSWINT,NOBAT
5SW? ... BC ,ASWCORJAM [CLEAR UNJAM IN PROGRESS MARKER
5T8N ... ACROSS CHARGESC,1
5TH6 NOBAT
5W2Q OFF BSTRAT
5WGB R12C
5X22 R12B LDX 2 FX2
5XFL ENDCCYCLE
6C5L [
6CK= [
6D4W [ ENTRY ON BEHALF OF CORE UNJAMMER TO SEE IF ANYTHING SWAPPABLE
6DJG [ IF NOT WE RETURN TO UNJAMMER TO DECIDE WHETHER
6F46 [ WE SHOULD ENTER JAMSWAP
6FHQ [
6G3B XX3S
6GH2 #SKI K6LLSTEST>499-499
6H2L TRACEVER FX1,SCHOUT3
6H6H ... JBS R12,,ASWOUTING [J IF SWAPOUT IN PROGRESS
6H=D ...#UNS ADPLLSKIP
6HB* ...(
6HG= ... LDN 0 1 [- DATAPASS COUNT
6HL7 ... STO 0 ADPSWPSW [- (COREJAM SWAPOUT)
6HQ4 ...)
6HT^ ... LDN 4 63 [SET CP OF 63 AS WE REQUIRE ANYTHING
6H^W STOZ ACOMMUNE1(2) [WE WANT ANYTHING SLLSOUT CAN GIVE US
6JFG ... STO 4 AWORK4(2) [TERAT AS MOP ENVIRONMENT
6KDQ CALL 7 SLLSOUT
6KYB BRN NONE
6LD2 BRN UNPLUG [FOUND:NEEDS UNPLUG
6LXL BRN SWAP [FOUND:NO UNPLUG NEEDED
6MC= NONE ACROSS UNJAMMER,2 [TRY SPEC SWAPOUT NOW
6NW6 #END
^^^^ ...62254301000300000000