LLSMESS867
(George Source)
Macros used: BC, BS, BXE, BXGE, BXL, BXU, COBJUSE, ENDCCYCLE, FINDJOBQ, JBC, JBS, JBSS, MOBJQUOTA, MONOUT, OFF, OUTPACK, OUTPAR, SEGENTRY, SHORTFALL, SKIP, TEST, TRACE
- LLSMESS867.txt
22FL ...#SEG LLSMESS [ DEK BEASLEY :CENT 22KH ...[ 22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 22T* ...[ 22^= ...#OPT K0LLSMESS=0 23DW ...#LIS K0LLSMESS>K0ALLGEO>K0LLS 23YG ... 8HLLSMESS 24D6 ...[ 24XQ ...[ THE ENTRY POINTS ARE AS FOLLOWS 25CB ...[ 25X2 ...[ K1 : THIS ENTRY OUTPUTS THE APPROPRIATE MESSAGE WHEN 26BL ...[ (1) CORESHED FAILS TO OBTAIN ENOUGH CORE(EITHER VIA UNJAMMER 26W= ...[ OR SCHEDOUT) TO SWAP A PROGRAM IN 27*W ...[ (2) THE SWAPPING IN OF A PROGRAM IS BLOCKED BY REALTIME 27TG ...[ FRAGMENTATION 28*6 ...[ IN BOTH CASES,COBJUSE IS < OQ MIN 28SQ ...[ 29#B ... SEGENTRY K1LLSMESS,XX1S 29J8 ...XDELAY 30*1000/K9 [LLS MESSAGE DELAY VALUE 29S2 ...[ 2=?L ...[ 2=R= ...[ SUBROUTINE TO CALCULATE EXTRA CORE REQ'D OVER THAT ALREADY FREE 2?=W ...[ TO BRING PROGRAM IN - KNOWN AS SHORTFALL 2?QG ...[ X4 - LINK 2#=6 ...[ ON EXIT,X0 CONTAINS SHORTFALL 2#PQ ...[ 2*9B ...XSHORTFALL 2*P2 ... SHORTFALL 2B8L ... EXIT 4 0 2BN= ...[ 2C7W ...PKOUT 2CMG ... SBX 6 FX1 2D76 ... OUTPACK 4,1,NUMA 2DLQ ... ADX 6 FX1 2F6B ... EXIT 6 0 2FL2 ...# 2G5L ...# S/R TO FIND JOBLOCK FOR JOBNO [X7] IN X3,LINK X4 2GK= ...TJOB FINDJOBQ 3,7,(GEOERR) 2H4W ... EXIT 4 0 2HJG ...# MARK PROGS 'TOO BIG' IF LARGER THAN ONE FOR S/I 2J46 ...# 2JHQ ...# 2K3B ...PBIG 2KH2 ... TEST 0,CSWAPAB,CJAMAB,CDELAB 2L2L ... BNG 0 XOFF1 [EXIT IF ABORT FLAG RAISED 2LG= ... LDX 2 3 2L^W ... LDN 3 BJOBQ 2MFG ...PBIG1 LDX 3 0(3) 2M^6 ... TXU 3 CXJO 2NDQ ... BCC PBIG2 2NYB ... JBC PBIG1,3,JBSO [J IF NO PROG. OR S/I 2PXL ... LDX 0 JCSIZE(3) 2QC= ... SMO FX2 2QWW ... BXL 0 ACOMMUNE3,PBIG1 2RBG ... BS 3,JBBIG [MARK TOO BIG 2RGY ...# 2RMB ...# NEXT COUPLE INSTRS INCLUDED TO CORRECT B9127; BIGPROGCP IS SET 2RRS ...# BY PUTTING B0=1 AS WELL AS IT CONTAINING LARGEST OF ALL 2RY= ...# JOBS MARKED JBBIG 2S3L ... LDEX 0 ACOREP(3) [NB IGNORE TOP CHARS OF ACOREP 2S72 ... ORX 0 GSIGN [IF NO JOB MARKED JBBIG OR 2S=B ... [IF THIS JOB CP > LARGEST CP 2S*Q ... BXL 0 BIGPROGCP,PBIG1 [ OF ALL JOBS MARKED JBBIG,THEN STORE 2STB ... STO 0 BIGPROGCP [ AS NEW LARGEST CP OF JBBIG'S 2T*2 ... BRN PBIG1 2TSL ...PBIG2 LDX 3 2 2W#= ... LDX 2 FX2 2WRW ... EXIT 4 0 2X?G ...# 2XR6 ...[ ON ENTRY 2Y=Q ...[ X6 = JOB NO. OF PROGRAM WHICH FAILED TO GET IN 2YQB ...[ X5 = +VE IF REALTIME FRAGMENTATION 2^=2 ...[ = 0 OTHERWISE 2^PL ...[ 329= ...XX1S 32NW ... LDX 7 6 338G ... CALL 4 TJOB [X3->JOB BLOCK OF PROG. 33N6 ... CALL 4 PBIG [MARK PROGS OF >OR= SIZE AS TOO BIG 347Q ...#SKI G3 34MB ... BNZ 5 REFRAG [J IF REALTIME FRAG. 3572 ...[ 35LL ...[ X3 LEFT POINTING TO JOB BLOCK BY PBIG 366= ...[ IF COBJUSE+REQUEST-SHORTFALL < OQ MIN,OUTPUT BADLOAD MESSAGE 36KW ...[ OTHERWISE SEND BIGPRO MESSAGE FOR EACH PROGRAM MARKED TOO BIG 375G ...[ (UNLESS ALREADY OUTPUT) 37K6 ...[ 384Q ... COBJUSE 7 38JB ... ADX 7 ACOMMUNE3(2) 3942 ... CALL 4 XSHORTFALL [GET SHORTFALL IN X0 39HL ... SBX 7 0 [COBJUSE+REQUEST-SHORTFALL 3=3= ... MOBJQUOTA MIN 3=GW ... BXGE 7 0,XBIG1 [J IF >OR= OQ MIN 3?2G ...[ 3?G6 ...[ BADLOAD MESSAGE :- SYSTEM UNABLE TO MEET OBJECTQUOTA 3?^Q ...[ 3#4* ... JBS XSCHED,,ASWOQMISS 3#6Y ... LDX 0 CLLSUNOQ [AS WE DELAY OUTPUTTING MESSAGE 3#9H ... BNZ 0 XMESSTIME [J IF DELAY IN PROGRESS 3##6 ... LDX 0 JTIME [SET UP WORD FOR DELAY AS 3#BP ... ADX 0 XDELAY(1) [ 'TIME NOW + DELAY' 3#F# ... STO 0 CLLSUNOQ 3#HX ...XMESSTIME 3#LG ... LDX 0 JTIME 3#P5 ... BXL 0 CLLSUNOQ,XSCHED [J IF DELAY NOT YET OVER 3#RN ... STOZ CLLSUNOQ [CLEAR DELAY 3#W? ... BS ,ASWOQMISS 3#^2 ... LDX 4 COBJQUOTA 3*DL ... SBX 4 7 [AMOUNT FAAILED TO MEET OQ BY 3*Y= ... CALL 6 PKOUT 3BCW ... MONOUT BADLOAD [OUTPUT MESSAGE 3BXG ... BRN XSCHED [J TO START NEW SCHEDULING CYCLE 3CC6 ...[ 3CWQ ...[ BIGPRO MESSAGE :- JOB TOO BIG FOR SWAPIN UNDER PRESENT SYSTEM LOAD 3DBB ...[ 3DM3 ...XBIG1 3DXN ... LDX 0 CTOOBIG [AS WE DELAY OUTPUTTING MESSAGE,J 3F8* ... BNZ 0 XTIME [IF DELAY IN PROGRESS OR COMPLETE 3FF2 ... LDX 0 JTIME [SET UP DELAT AS 3FPM ... ADX 0 XDELAY(1) [ 'TIME NOW + DELAY' 3G2# ... STO 0 CTOOBIG 3G=^ ...XTIME 3GHL ... BS 3,JBSIFAIL [SET BIT AS LLS FAILED TO S/I PROG. 3GS? ... LDX 0 JTIME 3H4Y ... BXL 0 CTOOBIG,XSCHED [J IF DELAY NOT YET OVER 3H*K ...XGAIN 3HL= ... LDN 3 BJOBQ 3HWX ...NEXT 3J7J ... LDX 3 FPTR(3) 3JD9 ... BXE 3 CXJO,XEND 3JNW ... JBC NEXT,3,JBSIFAIL [J IF NOT HAD S/I FAIL 3J^H ... JBSS NEXT,3,JBBIGMESS [J IF ALREADY OUTPUT FOR THIS JOB 3K=L ... LDX 4 JOBNUM(3) 3KQ= ... CALL 6 PKOUT 3L9W ... MONOUT BIGPRO [OUTPUT MESSAGE 3LFN ... BRN XGAIN 3LPG ...XEND STOZ CTOOBIG 3L^# ... BRN XSCHED 3M96 ...[ 3MNQ ...#SKI G3 3N8B ...( 3NN2 ...[ 3P7L ...[ BADREAL MESSAGE :- REALTIME PROGRAMS OF JOBS PREVENTING SWAPIN BY 3PM= ...[ FRAGMENTING CORE 3Q6W ...[ 3QLG ...REFRAG 3R66 ... JBSS XSCHED,,ASWREALBAD [MARK CURRENT MESSAGE 3RKQ ... LDN 7 3 [-CORE FRAGMENTATION 3S5B ... LDN 3 BJOBQ 3SK2 ...PB2 LDX 3 FPTR(3) 3T4L ... TXU 3 CXJO 3TJ= ... BCC PA4 3W3W ... JBC PB2,3,JBREEF 3WHG ... LDX 4 JOBNUM(3) 3X36 ... BZE 7 PB5 3XGQ ... SBN 7 1 3Y2B ... SMO 7 3YG2 ... BRN £ 3Y^L ... BRN P3 3^F= ... BRN P2 3^YW ... BRN P1 42DG ...PB5 42Y6 ... MONOUT BADREAL [OUTPUT UP TO 3 REALTIME JOB NUMBERS 43CQ ... BRN XSCHED 43XB ...[ 44C2 ...P1 44WL ... CALL 6 PKOUT 45B= ... BRN REGET 45TW ...P2 46*G ... OUTPACK JOBNUM(3),1,NUMB 46T6 ... BRN REGET 47#Q ...P3 47SB ... OUTPACK JOBNUM(3),1,NUMC 48#2 ...REGET FINDJOBQ 3,4,PA4 [REFIND JOB BLOCK 48RL ... BRN PB2 49?= ...PA4 49QW ... BZE 7 PB5 4==G ... LDN 0 3 4=Q6 ... BXU 0 7,PA41 [J IF 1 FOUND 4?9Q ... BC ,ASWREALBAD 4?PB ... BRN XSCHED [TERMINATE IF MESSAGE WOULD BE WRON 4#92 ...PA41 4#NL ... OUTPAR SKIP [MAKE UP FOR PARAMETERS NOT OUTPUT 4*8= ... BCT 7 PA41 4*MW ... BRN PB5 4B7G ...) 4D62 ...XOFF1 4DKL ... TRACE 6,ABORTSWP 4F5= ...#SKI K6CORESHED>499-499 4FJW ...( 4G4G ... LDX 7 6 4GJ6 ... CALL 4 TJOB 4H3Q ... JBS (GEOERR),3,JBBEING 4HHB ... JBC (GEOERR),3,JBSO 4J32 ...) 4J=S ...XSCHED 4JGL ... OFF BSTRAT [CLEAR STRATEGY IN PROGRESS MARKER 4K2= ... ENDCCYCLE AB 4KFW ...#END ^^^^ ...614544400001