summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pageout.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-06-20 00:48:20 +0000
committerjhb <jhb@FreeBSD.org>2001-06-20 00:48:20 +0000
commit3910f65aa276a42bb870032078b48e97a495de0f (patch)
tree14e8fdc68f6ae7f6fc728034f3327d2b05196aed /sys/vm/vm_pageout.c
parentc355fb47d5d77dde5509dedef1f14c88260c5c31 (diff)
downloadFreeBSD-src-3910f65aa276a42bb870032078b48e97a495de0f.zip
FreeBSD-src-3910f65aa276a42bb870032078b48e97a495de0f.tar.gz
Put the scheduler, vmdaemon, and pagedaemon kthreads back under Giant for
now. The proc locking isn't actually safe yet and won't be until the proc locking is finished.
Diffstat (limited to 'sys/vm/vm_pageout.c')
-rw-r--r--sys/vm/vm_pageout.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index dd96cb2..e8389b1 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -1349,6 +1349,7 @@ vm_pageout()
{
int pass;
+ mtx_lock(&Giant);
mtx_lock(&vm_mtx);
/*
@@ -1465,11 +1466,7 @@ vm_pageout()
if (vm_pages_needed)
cnt.v_pdwakeups++;
splx(s);
- mtx_unlock(&vm_mtx);
- mtx_lock(&Giant);
- mtx_lock(&vm_mtx);
vm_pageout_scan(pass);
- mtx_unlock(&Giant);
vm_pageout_deficit = 0;
}
}
@@ -1500,13 +1497,8 @@ vm_daemon()
{
struct proc *p;
-#ifndef rlimlocked
mtx_lock(&Giant);
-#endif
while (TRUE) {
-#ifdef rlimlocked
- mtx_lock(&Giant);
-#endif
mtx_lock(&vm_mtx);
msleep(&vm_daemon_needed, &vm_mtx, PPAUSE, "psleep", 0);
if (vm_pageout_req_swapout) {
@@ -1515,13 +1507,6 @@ vm_daemon()
vm_pageout_req_swapout = 0;
}
mtx_unlock(&vm_mtx);
-#ifdef rlimlocked
- /*
- * XXX: we can't do this yet because Giant still protects
- * the per-process resource limits that we check below.
- */
- mtx_unlock(&Giant);
-#endif
/*
* scan the processes for exceeding their rlimits or if
* process is swapped out -- deactivate pages
OpenPOWER on IntegriCloud