                      ----- 24562INFO file -----                        DCP F00
                                                                        DCP F00
                                                                        DCP F00
    This file contains technical information which should be read       DCP F00
carefully before attempting to install the patch for SIDR 24562         DCP F00
contained on the January 1979 and subsequent System Support Tapes.  It  DCP F00
applies to F00 systems only.                                            DCP F00
                                                                        DCP F00
    This version of the 24562 patch replaces a version dated 9/27/78    DCP F00
which should be removed.  This new version combines the functions of    DCP F00
the older version and also contains code for SIDR 31906 which provides  DCP F00
the final, ultimate fix for problems occurring when the system begins   DCP F00
to run out of symbiont output file slots.                               DCP F00
                                                                        DCP F00
    Three levels of functionality are available via the code in this    DCP F00
patch, providing varying degrees of control over system operations      DCP F00
when the number of outfile slots drops below certain values.  You may   DCP F00
choose whichever level of functionality suits the characteristics of    DCP F00
your operation, by adding a card to the beginning of your patch deck    DCP F00
or file to define the symbol "GUARD".  The levels of functionality are  DCP F00
as follows:                                                             DCP F00
                                                                        DCP F00
    If GUARD is set equal to zero (or is not defined at all), the       DCP F00
not attempt to do anything about it.  Warning messages are output when  DCP F00
the queue is nearly full (10 non-reserved outfile slots left), when     DCP F00
the queue is totally full (2 slots left), and when a reasonable number  DCP F00
of outfile slots (15) are once again available.  The operator may do    DCP F00
one of several things:  unlock an additional printer or card punch;     DCP F00
RBSWITCH output files to an available workstation or printer; use DMPQ  DCP F00
or an installation-written Spill/Fill program to dump some of the       DCP F00
output files to public disk or tape; issue an !ON 0 or !ONB 0 keyin to  DCP F00
prevent any new users from starting up or logging on; or (as a last     DCP F00
resort) delete some output files.                                       DCP F00
                                                                        DCP F00
    If GUARD is set equal to 1, the system will produce the same        DCP F00
warnings as described above, and will also take action to try to keep   DCP F00
the situation from getting any worse.  If the number of available       DCP F00
outfile slots drops below 10, the system will override the concurrent   DCP F00
output mode "CHUNK" parameter - user LDEV streams that are generating   DCP F00
output in concurrent mode will not be released to the output queue      DCP F00
every "CHUNK" granules, but will continue to accumulate until the       DCP F00
stream is terminated (at end of job, for example) or until the number   DCP F00
of available outfile slots climbs above 10 again.                       DCP F00
                                                                        DCP F00
    The GUARD=1 mode of operation also affects !LDEV and !PRINT         DCP F00
the GUARD=0 mode of operation, when the number of outfile slots drops   DCP F00
to 2 or below, users who issue CALs to release symbiont streams to the  DCP F00
output queue are placed in state SQR ("queued for resources") until     DCP F00
more outfile slots are available (the 2 remaining slots are reserved    DCP F00
for Spill operations and message files).  In the GUARD=1 mode of        DCP F00
operation, online users will only be placed in the SQR state to await   DCP F00
the availability of an outfile slot if they are in the process of       DCP F00
logging off.  At any other time, if an online user issues a !PRINT or   DCP F00
!LDEV command or CAL and no outfile slot is available, the user will    DCP F00
be aborted with an error code of B71A (!PRINT) or B71C (!LDEV).  The    DCP F00
user may try repeating the operation later.  Online users who are       DCP F00
logging off, and all ghost and batch users are not affected by this     DCP F00
mode of operation.                                                      DCP F00
                                                                        DCP F00
    If GUARD is set equal to 2, maximum protection against queue-full   DCP F00
conditions is provided.  In this mode, all of the warning and override  DCP F00
features provided by modes 0 and 1 are in effect.  In addition, if the  DCP F00
number of available outfile slots drops below 10 (and the "QUEUE        DCP F00
ALMOST FULL" message is sent to the console), RBBAT will simulate       DCP F00
!ON 0 and !ONB 0 keyins to prevent any new users from logging on.       DCP F00
When the situation begins to clear up and at least 15 outfile slots     DCP F00
are available (and the "QUEUE SPACE RETURNING" message is produced)     DCP F00
before the queue became full.                                           DCP F00
                                                                        DCP F00
                                                                        DCP F00
                                                                        DCP F00
    This patch is quite complex and requires some care during           DCP F00
installation.  It contains patches to the MULOV overlay, to the         DCP F00
RECOVER "overlay", and to RBBAT.  The following considerations *MUST*   DCP F00
be observed:                                                            DCP F00
                                                                        DCP F00
    *    The MULOV section of the patch must be placed *after* the      DCP F00
         MULOV patch for SIDR #31911 as it re-patches several of the    DCP F00
         locations modified by #31911.                                  DCP F00
                                                                        DCP F00
    *    If the GUARD=2 (full protection) mode is selected, RBBAT will  DCP F00
         use the *last* five locations of the patch area for temporary  DCP F00
         space (these locations are addressed as MX:PPUT-5 through      DCP F00
         MX:PPUT-1).  For this reason, the patch contains five "/@/0/"  DCP F00
         cards which *must* be the last patches to the monitor if the   DCP F00
         GUARD=2 mode is selected, to ensure that RBBAT does not step   DCP F00
         on any significant RECOVER patches.  If your installation has  DCP F00
         both tape and card patches, has card patches to RECOVER, and   DCP F00
         desires to use the GUARD=2 mode, you should place the RECOVER  DCP F00
         addition to) placing it in the patch file on the PO boot       DCP F00
         tape.                                                          DCP F00
                                                                        DCP F00
    *    Any use of the MPATCH symbol (which contains the address of    DCP F00
         the next available patch location and the number of unused     DCP F00
         locations) *must* take the above facts into account, since     DCP F00
         the unused-location count will not have been adjusted to       DCP F00
         compensate for this factor.                                    DCP F00
                                                                        DCP F00
    *    You may wish to modify the threshold values at which the       DCP F00
         patch acts.  The lower limit of 2 slots should not be          DCP F00
         decreased.  The upper limits of 10 and 15 may be changed as    DCP F00
         desired as long as certain cautions are observed - if you      DCP F00
         change the 10 limit be sure to change it in both places (card  DCP F00
         39 in the MULOV section and card 65 in the RBBAT section),     DCP F00
         and do not set the "QUEUE ALMOST FULL" limit (10) equal to or  DCP F00
         greater than the "QUEUE SPACE RETURNING limit (15 - on card    DCP F00
         53) or "motorboating" of the warning messages will occur.  Do  DCP F00
         not set either limit equal to or greater than the value        DCP F00
         OUTFILE-SNDDXSIZ, where OUTFILE is the number of output file   DCP F00
         slots specified by the :MON card's OUTFILE option, and where   DCP F00
         SNDDXSIZ is the total size of the symbiont table (check the    DCP F00
                                                                        DCP F00
    *    If the system runs out of output file slots, the operator      DCP F00
         should *not* attempt an operator recovery to clear the         DCP F00
         situation - RECOVER will attempt to terminate the streams for  DCP F00
         any users with pending symbiont output, and will run into      DCP F00
         trouble because no output file slots are available.  If this   DCP F00
         situation occurs, the recovery process may hang, or may skip   DCP F00
         the processing of such pending LDEV streams completely - in    DCP F00
         either case, loss of symbiont files and granules is likely to  DCP F00
         occur.  (This warning applies whether this patch is installed  DCP F00
         or not)                                                        DCP F00
                                                                        DCP F00
    *    When SYSGENing your system, if you do not have RBTs or IRBTs   DCP F00
         defined, do *not* include the MXSTRM parameter on the          DCP F00
         :SDEVICE card - doing so can cause this patch to function      DCP F00
         badly (blocking output too soon and/or failing to unblock      DCP F00
         output) due to an unnecessary increase in SNDDXSIZ;  it may    DCP F00
         also cause certain other CP-V patches to malfunction.          DCP F00
