Subject: NetBSD master CVS tree commits
To: None <source-changes@NetBSD.ORG>
From: None <source@NetBSD.ORG>
List: source-changes
Date: 01/31/1998 04:10:01
ross
Fri Jan 30 20:02:46 PST 1998
Update of /cvsroot/src/sys/vm
In directory netbsd1:/var/slash-tmp/cvs-serv755

Modified Files:
	vm_extern.h vm_fault.c vm_glue.c vm_kern.c vm_object.c 
	vm_object.h vm_page.c vm_pageout.c vm_pageout.h 
Log Message:
NFS swap fix. Most files here are modified purely to add a tsleep() wmesg
string. The actual functional changes are:

	1. in vm_page_alloc(), restore some long lost code by Paul Kranenburg
	that reserves the last few pages for kernel objects, adding an 
	additional escape for the pageout daemon. 

	2. In vm_wait() (replaces VM_WAIT), recognize the amusing fatal
	deadlock where the pagedemon sleeps on a channel that only it ever
	wakes up, and add a timeout and printf. Mod 1 should generally
	prevent this from happening in any case.

	3. Fix a livelock in vm_pageout_page() caused by a pre-wakeup of
	page consumers prior to the pageout, which can easily fail over
	memory issues in NFS and IP code. Also, ++ cnt.v_pageouts only
	if the pageout succeeded.