summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_physio.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-08-09 10:13:32 +0000
committerdyson <dyson@FreeBSD.org>1997-08-09 10:13:32 +0000
commitc38957d22b79e58dcfc2f1111afcbbc0019cfe89 (patch)
tree032e068c65840f25e7fb938a4469b88eb574d5fd /sys/kern/kern_physio.c
parent4843904b0d4173aaa56c2fb2ffd890565f7a2198 (diff)
downloadFreeBSD-src-c38957d22b79e58dcfc2f1111afcbbc0019cfe89.zip
FreeBSD-src-c38957d22b79e58dcfc2f1111afcbbc0019cfe89.tar.gz
Modify the scheduling policy to take into account disk I/O waits
as chargeable CPU usage. This should mitigate the problem of processes doing disk I/O hogging the CPU. Various users have reported the problem, and test code shows that the problem should now be gone.
Diffstat (limited to 'sys/kern/kern_physio.c')
-rw-r--r--sys/kern/kern_physio.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c
index 42d1d21..bfa7c01 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$
+ * $Id: kern_physio.c,v 1.19 1997/02/22 09:39:08 peter Exp $
*/
#include <sys/param.h>
@@ -112,7 +112,11 @@ physio(strategy, bp, dev, rw, minp, uio)
spl = splbio();
while ((bp->b_flags & B_DONE) == 0)
+#if defined(NO_SCHEDULE_MODS)
tsleep((caddr_t)bp, PRIBIO, "physstr", 0);
+#else
+ tsleep((caddr_t)bp, curproc->p_usrpri, "physstr", 0);
+#endif
splx(spl);
/* release mapping into kernel space */
OpenPOWER on IntegriCloud