Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 11/12/1999 16:24:40
Module Name:	syssrc
Committed By:	thorpej
Date:		Sat Nov 13 00:24:40 UTC 1999

Modified Files:
	syssrc/sys/uvm: uvm_device.c uvm_fault.c uvm_glue.c uvm_km.c uvm_mmap.c
	    uvm_pager.c
	syssrc/sys/vm: pmap.h

Log Message:
Change the pmap_enter() API slightly; pmap_enter() now returns an error
value (KERN_SUCCESS or KERN_RESOURCE_SHORTAGE) indicating if it succeeded
or failed.  Change the `wired' and `access_type' arguments to a single
`flags' argument, which includes the access type, and flags:

	PMAP_WIRED	the old `wired' boolean
	PMAP_CANFAIL	pmap_enter() is allowed to fail

If PMAP_CANFAIL is not specified, the pmap should behave as it always
has in the face of a drastic resource shortage: fall over dead.

Change the fault handler to deal with failure (which indicates resource
shortage) by unlocking everything, waiting for the pagedaemon to free
more memory, then retrying the fault.


To generate a diff of this commit:
cvs rdiff -r1.17 -r1.18 syssrc/sys/uvm/uvm_device.c
cvs rdiff -r1.45 -r1.46 syssrc/sys/uvm/uvm_fault.c
cvs rdiff -r1.29 -r1.30 syssrc/sys/uvm/uvm_glue.c
cvs rdiff -r1.32 -r1.33 syssrc/sys/uvm/uvm_km.c
cvs rdiff -r1.35 -r1.36 syssrc/sys/uvm/uvm_mmap.c
cvs rdiff -r1.23 -r1.24 syssrc/sys/uvm/uvm_pager.c
cvs rdiff -r1.35 -r1.36 syssrc/sys/vm/pmap.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.