diff options
author | dyson <dyson@FreeBSD.org> | 1996-05-31 00:38:04 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-05-31 00:38:04 +0000 |
commit | 65214cd0c8fbe9d65c224d853573549dba9406fa (patch) | |
tree | d0c35b0aabebb0e4f78ad9db2efdb29f9ed4b272 /sys/vm/vm_fault.c | |
parent | a6023afadfbb05340c7296f1384561e1ecce012e (diff) | |
download | FreeBSD-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.c | 13 |
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 */ |