summaryrefslogtreecommitdiff
path: root/sys/kern/kern_physio.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1999-04-06 03:04:47 +0000
committerPeter Wemm <peter@FreeBSD.org>1999-04-06 03:04:47 +0000
commit57dc5948321d2b9ca3135379ccd8468aa203a301 (patch)
tree3643786dc8bb0fe2e9aad092453c1252934c1c2f /sys/kern/kern_physio.c
parentaf8ad83e5ce4b8d3f02b6c211879b51ba7fcfb5e (diff)
Notes
Diffstat (limited to 'sys/kern/kern_physio.c')
-rw-r--r--sys/kern/kern_physio.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c
index ad63a9831fb6..268a0bf03d62 100644
--- a/sys/kern/kern_physio.c
+++ b/sys/kern/kern_physio.c
@@ -16,7 +16,7 @@
* 4. Modifications may be freely made to this file if the above conditions
* are met.
*
- * $Id: kern_physio.c,v 1.29 1998/10/25 17:44:51 phk Exp $
+ * $Id: kern_physio.c,v 1.30 1999/01/21 08:29:04 dillon Exp $
*/
#include <sys/param.h>
@@ -49,10 +49,10 @@ physio(strategy, bp, dev, rw, minp, uio)
int bp_alloc = (bp == 0);
struct buf *bpa;
-/*
- * keep the process from being swapped
- */
- curproc->p_flag |= P_PHYSIO;
+ /*
+ * Keep the process UPAGES from being swapped. (XXX for performance?)
+ */
+ PHOLD(curproc);
/* create and build a buffer header for a transfer */
bpa = (struct buf *)phygetvpbuf(dev, uio->uio_resid);
@@ -155,10 +155,10 @@ doerror:
wakeup((caddr_t)bp);
}
}
-/*
- * allow the process to be swapped
- */
- curproc->p_flag &= ~P_PHYSIO;
+ /*
+ * Allow the process UPAGES to be swapped again.
+ */
+ PRELE(curproc);
return (error);
}