summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-05-31 00:38:04 +0000
committerdyson <dyson@FreeBSD.org>1996-05-31 00:38:04 +0000
commit65214cd0c8fbe9d65c224d853573549dba9406fa (patch)
treed0c35b0aabebb0e4f78ad9db2efdb29f9ed4b272 /sys/vm/vm_fault.c
parenta6023afadfbb05340c7296f1384561e1ecce012e (diff)
downloadFreeBSD-src-65214cd0c8fbe9d65c224d853573549dba9406fa.zip
FreeBSD-src-65214cd0c8fbe9d65c224d853573549dba9406fa.tar.gz
This commit is dual-purpose, to fix more of the pageout daemon
queue corruption problems, and to apply Gary Palmer's code cleanups. David Greenman helped with these problems also. There is still a hang problem using X in small memory machines.
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 9f481c6..de4ed37 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -66,7 +66,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_fault.c,v 1.45 1996/05/19 07:36:45 dyson Exp $
+ * $Id: vm_fault.c,v 1.46 1996/05/26 05:30:33 dyson Exp $
*/
/*
@@ -821,10 +821,12 @@ vm_fault_wire(map, start, end)
for (va = start; va < end; va += PAGE_SIZE) {
+/*
while( curproc != pageproc &&
(cnt.v_free_count <= cnt.v_pageout_free_min)) {
VM_WAIT;
}
+*/
rv = vm_fault(map, va, VM_PROT_READ|VM_PROT_WRITE, TRUE);
if (rv) {
@@ -1006,6 +1008,15 @@ vm_fault_additional_pages(m, rbehind, rahead, marray, reqpage)
pindex = m->pindex;
/*
+ * we don't fault-ahead for device pager
+ */
+ if (object->type == OBJT_DEVICE) {
+ *reqpage = 0;
+ marray[0] = m;
+ return 1;
+ }
+
+ /*
* if the requested page is not available, then give up now
*/
OpenPOWER on IntegriCloud