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:22:40
> 
> 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....
> 
> 

I have absolutely no way to test this change on NetBSD, but FreeBSD has
a much more complex solution to the problem that I guess is happening.
It is purely a guess (I cannot boot a NetBSD system right now), sometimes
I have one ready.  The pageout daemon will go from being blocked too
long to maybe not enough with this, but give it a try:


*** 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", 0);
  		break;
  	}
  	case VM_PAGER_FAIL:
  	case VM_PAGER_ERROR: