Trailing-Edge
-
PDP-10 Archives
-
BB-L014C-BM
-
autopatch/t20as4.d03
There are no other files named t20as4.d03 in the archive.
EDIT DESCRIPTIONS FOR TOPS-20-KS-ARPA-V4
EDIT 625 FOR EXEC
[SYMPTOM]
Doing SET NO UUO-SIMULATION on an execute-only process causes an
illegal instruction trap.
[DIAGNOSIS]
No ERJMP error handler is provided for the SCVEC JSYS which
attempts to do this.
[CURE]
Add an ERJMP CJERRE after the SCVEC call.
********************************************************************************
EDIT 626 FOR EXEC
[SYMPTOM]
EDIT long-file-name completed by an escape, followed by another
EDIT command, causes the file name to be truncated for the second
edit.
[DIAGNOSIS]
Code to fix file names entered with an explicit generation number
(presumably through recognition) for saving, combined with the
implicit presumption that the same filespec was typed in as an output
filespec as well, causes a poorly-formed command to be saved.
[CURE]
Don't assume that an output filespec was typed in; if it isn't,
don't save "EDIT filespec filespec", just "EDIT filespec".
********************************************************************************
EDIT 627 FOR EXEC
[SYMPTOM]
The /RUN switch to the EDIT command accepts any well-formed
filespec.
[DIAGNOSIS]
The filespec is read with a .CMOFI FDB.
[CURE]
Read it with a .CMIFI FDB.
********************************************************************************
EDIT 628 FOR EXEC
[SYMPTOM]
If location 41 is trashed, an infinite number of illegal
instruction trap messages are printed.
[DIAGNOSIS]
Location 41 is only reloaded after an illegal instruction trap in
some cases (when ILIDSP is non-zero).
[CURE]
Reload it earlier (at ILIPSI).
********************************************************************************
EDIT 629 FOR EXEC
[SYMPTOM]
CANCEL RETRIEVE ? doesn't tell the user about * to cancel all
commands.
[DIAGNOSIS]
Default help text omits this option.
[RESTRICTION]
Fixed in AUTOPATCH Edit 629 to the EXEC.
********************************************************************************
EDIT 630 FOR EXEC
[SYMPTOM]
"/AFTER:time", where time is before the switch is used, is
interpreted as "/AFTER:today time", not "/AFTER:tomorrow time", as is
the case in TOPS-10. Also, the "BEFORE time" subcommand of DIRECTORY,
where time is after the subcommand is used, is interpreted as "BEFORE
today time", not "BEFORE yesterday time", as is the case with the
/BEFORE switch in TOPS-10.
[DIAGNOSIS]
No code is included to do fixups of this type.
[CURE]
If no explicit day or date is input, fix up the input time in the
appropriate sense: forward if future time, backward if past time, not
at all if present time.
********************************************************************************
EDIT 631 FOR EXEC
[SYMPTOM]
EXEC will try to LOAD a file with a 7 character file name if
recognition is used on the filename. This is incompatible with LINK
and most compilers.
[DIAGNOSIS]
Coding error. Code at GTASC: prints an error message if the
string typed was seven or fewer characters long.
[CURE]
Change routine at GTASC: to check for 6 characters or fewer.
********************************************************************************
EDIT 632 FOR EXEC
[SYMPTOM]
COMPILE /LANGUAGE-SWITCHES:"/MACRO" FOO.FOR doesn't pass the
"/MACRO" to FORTRAN.
[DIAGNOSIS]
Code to handle /LANGUAGE-SWITCHES works only when it's invoked as
a local file switch.
[CURE]
Change the code at RDQS and DOLSW to handle this case, and add a
new entry, RDQOT1, to the RDQUOT code.
********************************************************************************
EDIT 633 FOR EXEC
[SYMPTOM]
All file extensions override global language switches (/FORTRAN,
/ALGOL, etc.).
[DIAGNOSIS]
The present code does this by design.
[CURE]
Change routine LOOKE to let a global language switch override the
default one from the file's extension (but if the file is a .REL file,
do not override).
********************************************************************************
EDIT 634 FOR EXEC
[SYMPTOM]
If two or more file types have had default compile switches set
by the use of SET DEFAULT COMPILE-SWITCHES, and if a file type before
the last one in alphabetical order has its default compile switches
removed by SET NO DEFAULT COMPILE-SWITCHES, subsequent SET DEFAULT
COMPILE-SWITCHES for new file types fail.
[DIAGNOSIS]
Extension and switch storage areas are managed by heap-type
allocation in private areas EXTBUF and DCSSTG, but the heaps are not
collapsed when a file type is deleted, and so the code overwrites the
heaps on new file type allocation.
[CURE]
Use permanent free space instead of DCSSTG and EXTBUF.
********************************************************************************
EDIT 635 FOR EXEC
[SYMPTOM]
SET DEFAULT COMPILE SWITCHES ftype /LANGUAGE-SWITCHES:"string"
fails to output the language switches for files of type ftype.
[DIAGNOSIS]
No provision was made to store the quoted string argument for a
default /LANGUAGE-SWITCHES.
[CURE]
Change the code around PARDEF to save the quoted string so DOL1
can store it.
********************************************************************************
EDIT 636 FOR EXEC
[SYMPTOM]
INFORMATION DEFAULT COMPILE-SWITCHES types out lines in the form
"SET DEFAULT COMPILER-SWITCHES ...".
[DIAGNOSIS]
String being typed out is wrong.
[CURE]
Change it.
********************************************************************************
EDIT 637 FOR EXEC
[SYMPTOM]
Typing "LOAD /switch + ?" sends the EXEC into an infinite, but
interruptible, garbage typing loop.
[DIAGNOSIS]
Two calls to routine COMIN did not have .CMCFM FDB's at the top
of their passed FDB chain, even though the routine expects this: if a
CRLF is illegal, COMIN takes the top FDB off the chain, which causes
disaster if there was only one FDB passed (as at TPLUS), and trouble
if there's more than one (as at TCOMM).
[CURE]
Add a new entry point to COMIN past the CRLF check, COMIN1, and
make TPLUS and TCOMM call COMIN1 instead.
********************************************************************************
EDIT 638 FOR EXEC
[SYMPTOM]
If the EXEC gets an internal error that causes an "?Invalid CMBFP
pointer", it goes into an infinite error-message loop.
[DIAGNOSIS]
The code at EOFJER doesn't protect itself against this kind of
error.
[CURE]
Call CMDINI at EOFJER to reeinitialize COMND after an IOX4 (EOF)
error from TEXTI.
********************************************************************************
EDIT 1920 FOR MONITO
[SYMPTOM]
TOPS-20 is too big and too slow.
[DIAGNOSIS]
Unneeded instruction in REQPSI in CDRSRV, code can fall through.
[CURE]
Remove the unneeded CALLRET.
********************************************************************************
EDIT 1921 FOR MONITO
[SYMPTOM]
Keep alive failures.
[DIAGNOSIS]
IMPHLT does not check the state of the IMP and tries to shut down
the net when it is not really on.
[CURE]
Check the state of IMPRDY in IMPHLT.
********************************************************************************
EDIT 1922 FOR MONITO
[SYMPTOM]
TOPS-20 is too big and too slow.
[DIAGNOSIS]
In COMND, at RTYP33, two instructions are wasted by JRST'ing into
a literal to do one instruction and JRST'ing back.
[CURE]
Do the instruction inline.
********************************************************************************
EDIT 1923 FOR MONITO
[SYMPTOM]
None observed, but code is wrong.
[DIAGNOSIS]
Reference to .STDFE in edit 1835 should have forced it to the
left half for succeeding date arithmetic, instead of right halfword.
[CURE]
Change code at DSK10A: plus several to force .STDFE to left
half.
********************************************************************************
EDIT 1924 FOR MONITO
[SYMPTOM]
None observed, but code is non-standard and confusing to read.
[DIAGNOSIS]
Edits 1802, 1804, 1807, 1813, 1820, 1823, 1825 are not in
standard form.
[CURE]
Put them in standard form.
********************************************************************************
EDIT 1925 FOR MONITO
[SYMPTOM]
None observed, but code is non-standard and confusing to read.
[DIAGNOSIS]
Edits 1826, 1827, 1828, 1839, 1849 are not in standard form.
[CURE]
Put them in standard form.
********************************************************************************
EDIT 1926 FOR MONITO
[SYMPTOM]
None observed, but code is non-standard and confusing to read.
[DIAGNOSIS]
Edits 1850, 1851, 1863, 1871, 1877, 1888, 1891, 1894, 1895 are
not in standard form.
[CURE]
Put them in standard form.
********************************************************************************
EDIT 1927 FOR MONITO
[SYMPTOM]
None observed, but code is non-standard and confusing to read.
[DIAGNOSIS]
Edits 1900, 1902, 1907, 1909, 1911, 1912 are not in standard
form.
[CURE]
Put them in standard form.
********************************************************************************
EDIT 1928 FOR MONITO
[SYMPTOM]
Possible incorrect executing of instructions if an illegal
reference occurs on an instruction.
[DIAGNOSIS]
FPD (first part done) bit is not cleared correctly in the
illegal page reference code.
[CURE]
Clear the correct bit.
********************************************************************************
EDIT 1929 FOR MONITO
[SYMPTOM]
TOPS-20 is too big and too slow.
[DIAGNOSIS]
The WRMSGF contruct is effectively unused and unneeded.
[CURE]
Remove the unneeded code.
********************************************************************************
EDIT 1930 FOR MONITO
[SYMPTOM]
KPALVH BUGHLTs, hung jobs, hung system when page or sections are
mapped into a loop. When certain arguments to JSYSs are in a
page which is mapped to a loop, the job would loop, sometimes NOINT.
When sections are mapped together in a loop and the process which
contains this map is killed, the system will hang attempting to
resolve the indirect section pointers.
[DIAGNOSIS]
Tops-20 depends on loops not existing. Code could probably be added
to make argument checking and page fail code more careful about
dealing with potential loops but it seems that the mapping code
should disallow loops.
[CURE]
Insert code at MSETST and SETPT0 which will check for page or
section map loops. Error codes SMAPX2 and PMAPX8 will be returned
from SMAP and PMAP respectively if a loop is detected.
[End of TCO 5.1433]
********************************************************************************
EDIT 1932 FOR MONITO
[SYMPTOM]
Invalid simultaneous access messages when opening a long
file and someone already still has it opened short.
[DIAGNOSIS]
Incorrect STKVAR usage causes trashed OFN location when
checking for long file OFN still opened short.
[CURE]
Correct the STKVAR usage.
********************************************************************************
EDIT 1933 FOR MONITO
[SYMPTOM]
TOPS-20 is too big and too slow.
[DIAGNOSIS]
In the FLOUT code, an unnecessary UMOVE is done before calling
BOUTA.
[CURE]
Remove the unneeded code.
********************************************************************************
EDIT 1934 FOR MONITO
[SYMPTOM]
None observed, but code is wrong.
[DIAGNOSIS]
Call of SETDIR/SETDRR from MDDDIR in section 1 drops into section 0.
[CURE]
Set the IFIW bit in the indirect words to force an in-section call.
********************************************************************************
EDIT 1935 FOR MONITO
[SYMPTOM]
When a pack is changed abruptly the monitor does not always
report the error.
[DIAGNOSIS]
The routine which reports the error is only called when a home
block check IORB is complete and this routine will only report the
error when a sixty second timer becomes zero to prevent printing an
immense number of error messages, unfortunatly if only one units home
blocks are being checked a new home block check IORB is generated once
every 2 seconds. Since a home block check IORB usually completes
quickly (less than 1 second) it is possible that the error reporting
routine will never be called when the counter is zero and so the error
will never be reported.
A worse case also exists where if a home block check IORB times
out (after 20 seconds) the routine which reports this error depends on
the same minute counter so if a problem which prevents home blocks
from being read exists it is likely that it will never be reported.
[CURE]
When either of the above problems are noticed report it
immediatly and set the disk offline. This will insure that the
operator sees the error message and that the disk will be set unusable
until something is done to correct the problem. It will also insure
that the MSTR JSYS will return more useful information about the disk
(it is not mounted and offline).
********************************************************************************
EDIT 1936 FOR MONITO
[SYMPTON]
If CTRL/V is set as a break character to TEXTI%, the first CTRL/V
typed will be ignored.
[DIAGNOSIS]
The CTRL/V routine returns after the break mask is checked for
the current character.
[CURE]
Make the CTRL/V routine return a few instructions before it does,
to INSRT instead of INSRT1.
********************************************************************************
EDIT 1937 FOR MONITO
[SYMPTON]
SOUT Jsys to .PRIOU with a large byte count causes the job to
loop uncontrollably.
[DIAGNOSIS]
SOUT to .PRIOU calls routine TTYBLO, to output each byte in a
loop. This routine goes NOINT, to prevent interrupts. If an
unreasonable byte count is passed in AC3, this routine will continue
looping, ignoring CTRL/C's and LOGOUT's from other terminals.
[CURE]
Add a loop counter at TTYOLP. After the loop has been executed
1000 times, check for interrupts and then continue the loop.
********************************************************************************
EDIT 1938 FOR MONITO
[SYMPTOM]
Job doing SIN/SINR with infinite indirection in the byte pointer
cannot be stopped with control C.
[DIAGNOSIS]
Fork doing reference is NOINT.
[CURE]
Try to load a byte before going NOINT.
********************************************************************************
EDIT 1939 FOR MONITO
[SYMPTON]
CHECKD releases Bat blocks on an RM03 pack.
[DIAGNOSIS]
CHECKD (and Tops-20) neglect to translate the physical addresses
stored in the Bat block back to the logical address that Tops-20 uses,
taking lost sectors into account.
[CURE]
Force CHECKD to translate the Bat block addresses, which are
physical, to logical addresses, accounting for lost sectors, when it
reads the Bat blocks in. Make Tops-20 do the same. This will not
harm other types of drives, as the translation from physical to
logical results in the same address for other drive types. This edit
requires a patch to Tops-20 as well as a patch to CHECKD.MAC.
********************************************************************************
EDIT 1940 FOR MONITO
[SYMPTOM]
SIN after write may see end of file and may make file grow longer
while returning records of nulls. BIN will correctly notice end of
file under the same circumstances.
[DIAGNOSIS]
SIN tries to read a record quickly if the record lies within the
current buffer. In order to determine if a quick SIN can be done the
word FILCNT of the JSB is consulted. FILCNT contains the number of
bytes left in the buffer.
If a read is performed first then everything will work fine since
FILCNT will be set up with the number of bytes in the buffer or the
number of bytes left in the file if this is smaller then the buffer
size.
If a write is performed first then the number of bytes left in
the buffer will reflect the buffer size only since we can write beyond
the end of the file.
The problem arises when reading after writing first. When the
write is performed the buffer is read in and FILCNT is set to the
number of bytes in the buffer and the appropriate bytes are deposited.
Suppose that we have a file with byte size 7 containing 10 bytes and
we write 1 byte to it, FILCNT would contain 4777 (all numbers in
octal) at the end of this operation (buffersize * bytes per word -
bytes written = 1000 * 5 - 1 = 4777). This is fine for writing but
for reading this implies that we can read 4777 more bytes when there
are only 7 bytes left in the file.
[CURE]
When setting up a file for read look at FILCNT and see if it is
greater than the number of bytes left in the file. If it is then
change it to reflect the number of bytes in the file not the number of
bytes left in the buffer.
********************************************************************************
EDIT 1941 FOR MONITO
[SYMPTOM]
SIN after write may see end of file and may make file grow longer
while returning records of nulls. BIN will correctly notice end of
file under the same circumstances.
[DIAGNOSIS]
SIN tries to read a record quickly if the record lies within the
current buffer. In order to determine if a quick SIN can be done the
word FILCNT of the JSB is consulted. FILCNT contains the number of
bytes left in the buffer.
If a read is performed first then everything will work fine since
FILCNT will be set up with the number of bytes in the buffer or the
number of bytes left in the file if this is smaller then the buffer
size.
If a write is performed first then the number of bytes left in
the buffer will reflect the buffer size only since we can write beyond
the end of the file.
The problem arises when reading after writing first. When the
write is performed the buffer is read in and FILCNT is set to the
number of bytes in the buffer and the appropriate bytes are deposited.
Suppose that we have a file with byte size 7 containing 10 bytes and
we write 1 byte to it, FILCNT would contain 4777 (all numbers in
octal) at the end of this operation (buffersize * bytes per word -
bytes written = 1000 * 5 - 1 = 4777). This is fine for writing but
for reading this implies that we can read 4777 more bytes when there
are only 7 bytes left in the file.
[CURE]
When setting up a file for read look at FILCNT and see if it is
greater than the number of bytes left in the file. If it is then
change it to reflect the number of bytes in the file not the number of
bytes left in the buffer.
********************************************************************************
EDIT 1942 FOR MONITO
[SYMPTOM]
Monitor Uptime item in the System Restart entry of the Usage
file is always zero.
[DIAGNOSIS]
The USAGE JSYS does not accept a field with monitor uptime
for a System Restart Entry, CHKPNT does not expect this
value to be in SYSTEM-DATA.BIN and CHKPNT zero fills this
field anyway.
[CURE]
Change the record descriptor block for the USAGE JSYS at
USGI6B+11 to include the monitor uptime item. Change the
restart record format block that the USAGE JSYS uses at
UFNFRM+1 to expect a monitor uptime item. In CHKPNT change
the table (UFRSTT) which tells CHKPNT where to find an item
for monitor uptime in the SYSTEM-DATA.BIN file.
********************************************************************************
EDIT 1943 FOR MONITO
[SYMPTOM]
System crashes and various bugs when a job detached because of
carrier off continues.
[DIAGNOSIS]
Routine JOBCOF runs in section 0 but may sometimes need to be in
section 1.
[CURE]
Insert SE1ENT in JOBCOF.
********************************************************************************
EDIT 1944 FOR MONITO
[SYMPTOM]
The command INFO DIRECTORY STR:<*> only finds <ROOT-DIRECTORY>
even though there are other directories on the structure. ULIST also
experiences this problem.
[DIAGNOSIS]
<ROOT-DIRECTORY>'s count of subdirectories is zero. This happens
because CRDIR% does not increment the count when creating directories.
[CURE]
Make CRDIR% increment the count when creating directories.
********************************************************************************
EDIT 1945 FOR MONITO
[SYMPTOM]
A DISCARD to a file with status Archive in Progress (1 copy on
tape) will cause the file to become Archive Requested.
[DIAGNOSIS]
This case never considered. The .ARDIS funtion of ARCF% does not
clear AR%RAR (archive requested) in the file's FDB. Thus if the tape
information is discarded in the middle of an archival, the file
becomes Archive Requested again.
[CURE]
Clear the other archive status bits and flush request before
discarding tape information.
********************************************************************************
EDIT 1946 FOR MONITO
[SYMPTOM]
CLRACE Bughlts on a 2020 after powering off the TM03.
[DIAGNOSIS]
After failing to clear the tape drives' registers when it noticed
they were powered off, Tops-20 gave up and fell over. The system,
though, could actually continue to run without the tape subsystem.
[CURE]
When we can not clear the drives' registers, merely place the
offending channel's CDB offline and Bugchk with CLRACE. Also, allow
the set online function of DIAG% to understand this situation and set
the channel back online without complaining.
********************************************************************************
EDIT 1947 FOR MONITO
[SYMPTON]
If the system is brought up with the class scheduler turned off
and it is later turned on and a batch class is assigned, batch jobs
that are logged in at the time do not get assigned to the batch class.
[DIAGNOSIS]
No code to do it.
[CURE]
Add the code to change all currently logged-in batch job after
storing the new batch class.
********************************************************************************
EDIT 1948 FOR MONITO
[SYMPTOM]
Spurious hard device errors form TU45/TU77 on TM02/TM03.
[DIAGNOSIS]
Format error can come up along with some other error bits. If it
does, we claim a hard error. It is a fake format error if the tape
moved, and we should do a retry.
[CURE]
Test other bits if format error is set. Retry if any tape motion
was detected.
********************************************************************************
EDIT 1949 FOR MONITO
[SYMPTOM]
When using COMND: if a command line is edited back into, a
CTRL/C is typed, a .CMINI is done without resuming the interrupted
COMND jsys, and a CTRL/H is typed in response, a reparse of trash is
attempted.
[DIAGNOSIS]
COMND updates the user's CSB (importantly, .CMPTR and .CMCNT)
only on exit. While in the TEXTI called by COMND, the user can edit
past the backup limit (.CMPTR value at call time) and change the valid
part of the buffer without immediately updating his CSB; if a CTRL/C
is typed while in the TEXTI, the CSB is never updated, and a .CMINI
reparse may see trash beyond where the buffer pointer really was when
the CTRL/C was typed, generating an error.
[CURE]
Have TEXTI update .CMPTR and .CMINI before each input operation
if COMND is the caller and RD%BLR is set.
********************************************************************************
EDIT 1950 FOR MONITO
[SYMPTOM]
Hung Jobs when JSYS trapping.
[DIAGNOSIS]
If a superior process halts an inferior process which is
currently JSYS trapped, the job will hang. This is because
the inferior process goes NOINT while it is suspended due to
a JSYS trap. If the process is halted before it is resumed,
the process will never be given the chance to OKINT itself.
Therefore, whenever any function is performed on that
process which needs to have the process suspended (ie,
KFORK) the job will hang. This is because suspending a fork
actually posts a PSI interrupt to the fork to suspend
itself. Since the process is NOINT, the PSI will never be
serviced.
[CURE]
In UTFRK, if the trapped process is halted upon returning
from the trap, set the process OKINT.
********************************************************************************
EDIT 1951 FOR MONITO
[SYMPTOM]
Various functions of the MTOPR JSYS will fail for labeled
tapes with CLSX1 (File is not opened) even though the file
has been opened.
[DIAGNOSIS]
The file is not opened in the eyes of MAGTAP until some I/O
has occcured on the tape, either since the tape was opened
with the OPENF JSYS or the tape has been rewound.
[CURE]
For various functions of the MTOPR JSYS, make sure the tape
is opened with respect to MAGTAP and if not, open it. This
is accomplished by using the MTOPR dispatch of MTLFCN
instead of MTMTCM.
********************************************************************************
EDIT 1952 FOR MONITO
[SYMPTOM]
Non enabled users sometimes cannot access files on EBCDIC
labeled tapes.
[DIAGNOSIS]
RACF protection is being enforced for tapes with
non-standard RACF protection characters in the file
accesibility field of the HDR1 label.
[CURE]
If a non standard character appears in this field, do not
perform RACF protection verification (the ACJ request).
********************************************************************************
EDIT 1953 FOR MONITO
[SYMPTOM]
System crashes with edit 1943 installed with ILMNRF.
[DIAGNOSIS]
Returning to RESTT (restore T regs) caused by SAVET macro does
not work from non zero section since SAVET puts wrong stuff on stack.
[CURE]
Do SE1ENT before SAVET.
********************************************************************************
EDIT 1954 FOR MONITO
[SYMPTOM]
.CMNOI doesn't work when linked to another function even though
the code says that the guide word should be printed.
[DIAGNOSIS]
Jump to the wrong label.
[CURE]
Jump to XCOM8 instead of XCOM7.
********************************************************************************
EDIT 1955 FOR MONITO
[SYMPTOM]
Shortage of OFN's.
[DIAGNOSIS]
When a directory is mapped for a fork, there is code to possibly
add the directory to the directory cache. If the directory is added
to the cache, a flag is set, informing the unmap routine not to
release the OFN for this directory, since it is in the cache. In this
case, the OFN will be released when the directory is removed from the
cache. There is one path through the cache routine when the directory
is not added to the cache, but the flag is set to keep the OFN. This
will cause the OFN for the directory to remain assigned.
[CURE]
Fix the code at MAPELN to set the flag correctly.
********************************************************************************
EDIT 1957 FOR MONITO
[SYMPTOM]
Edit 1910 prevented changing the class of a job at login.
[DIAGNOSIS]
JOBDIR was tested to find out if the job was logged in but job
could be logged in. A job may need its class changed before JOBDIR is
set up.
[CURE]
Check JOBRT instead.
********************************************************************************
EDIT 1958 FOR MONITO
[SYMPTOM]
Hung jobs when windfall is withheld. Sluggish response when
windfall is allocated. WATCH reports IDLE low FILW high and class
utilization very high.
[DIAGNOSIS]
Time spent in the null job is sometimes charged to FILW instead
of IDLE when there are no runnable forks. Utilization is computed on
the basis of time used by users instead of time available to users
causing high utilization on machines with idle time. Jobs can easily
seem to use windfall when the don't and may never run when windfall is
withheld because they appear to be ahead of their allotment.
[CURE]
Base the computation of utilization on time available to users
instead of actual time used and only charge FILW when there are no
runnable forks.
********************************************************************************
EDIT 1959 FOR MONITO
[SYMPTOM]
Interactive jobs may get an unfair portion of the CPU when
windfall is withheld and may not get enough CPU when windfall is
allocated.
[DIAGNOSIS]
The priority for a job is computed incorrectly. When windfall is
allocated interactive jobs should get a high priority. When windfall
is withheld and the fork utilization is below the allotment it should
also get a high priority. If the fork is using windfall and windfall
is withheld then interactive jobs should get only a small boost.
Currently none of these conditions hold as stated. With windfall
withheld interactive jobs always get high priority, with windfall
allocated only jobs not using windfall get a high priority.
The test to see if windfall is withheld or allocated is wrong.
[CURE]
Use the correct check for windfall withheld.
********************************************************************************
END OF TOPS-20-KS-ARPA-V4