Subject: Re: memory tester shows up swap/page tuning bug [was Re: BUFFERCACHE,
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: John S. Dyson <toor@dyson.iquest.net>
List: tech-kern
Date: 09/15/1996 20:29:45
>
> I've looked at the 4.4-Lite2 VM changes and nothing leaps out as being
> related to this. Does anyone (Mike Hibler, perhaps, or any of the
> FreeBSD people) recognize these symptoms at all? It's a very annoying
> bug, to say the least....
>
Try this. Sleeping on lbolt is a bit bogus. Waking up on vm_pages_needed
is likely more correct, with a timeout of some reasonable amount of time.
(I don't know what the hz variable is on NetBSD, so I just filled in a
number.) No guarantees -- this fix (if I think what the problem is)
is not quite correct. A correct fix is much much more complex :-).
Good luck!!!
*** vm_pageout.c Mon Feb 5 07:26:54 1996
--- vm_pageout.c.new Sun Sep 15 20:19:18 1996
***************
*** 325,333 ****
* FAIL on a write is interpreted to mean a resource
* shortage, so we put pause for awhile and try again.
* XXX could get stuck here.
*/
! (void) tsleep((caddr_t)&lbolt, PZERO|PCATCH, "pageout", 0);
break;
}
case VM_PAGER_FAIL:
case VM_PAGER_ERROR:
--- 325,334 ----
* FAIL on a write is interpreted to mean a resource
* shortage, so we put pause for awhile and try again.
* XXX could get stuck here.
*/
! (void) tsleep((caddr_t)&vm_pages_needed,
! PZERO|PCATCH, "pageout", 100);
break;
}
case VM_PAGER_FAIL:
case VM_PAGER_ERROR: