Aucbvax.5813
net.bugs.2bsd
utcsrgv!utzoo!decvax!ucbvax!dove@mit-dspg@mit-mc
Sat Jan 16 14:29:27 1982
recent fixes
From: dove at mit-dspg at mit-mc
================================
1       swapping bug causes system hang on small systems.
       All unix systems for some time have had this bug!
       -----------------
       Suppose a non sticky sep text job forks soon enough after
       startup that the text is still waiting to be written and
       the parent is swapped out.  Now the child execs another file.
       The textp of the child is cleared and it attempts to dec the count
       of the text.  This locks it (the text) and xccdec() tries to swap
       it out.  At this point the child is sleeping so sched() looks for
       core (remember that this is a SMALL system) finds the child with
       no APPARENT text locked (since the textp was cleared) and swaps it.
       Unfortunately, available memory is still fragmented by the locked
       text and the highest priority jobs is sep i/d and wont fit.  BINGO
       dead system.

               My cure was to make any proc sleeping on PSWP or PSWP+1
       unswappable.  Since such things are rare it hasn't hurt swapping much
       and seems to have cured the problem.  We only started having it
       when we began using an overlayed 2.8bsd and were left with under 128
       kb of user memory.
===============================
2       The 2.8bsd dh and dz drivers I had left PENABLE on even if both
       or neither EVENP or ODDP were on.  This made uucp not work.
       I now leave the hdwr in 8 bit mode in such circumstances.

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.