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 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.