summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_meter.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-03-28 11:52:56 +0000
committerjhb <jhb@FreeBSD.org>2001-03-28 11:52:56 +0000
commit79cf991a6bd845fad54bd6a15892cb5aaf74b223 (patch)
tree1cee6a483c3c79f058207ee2c66c63c38f2ad20a /sys/vm/vm_meter.c
parent673f3af133009642ca79479ec4db4a25a4ea86d6 (diff)
downloadFreeBSD-src-79cf991a6bd845fad54bd6a15892cb5aaf74b223.zip
FreeBSD-src-79cf991a6bd845fad54bd6a15892cb5aaf74b223.tar.gz
Convert the allproc and proctree locks from lockmgr locks to sx locks.
Diffstat (limited to 'sys/vm/vm_meter.c')
-rw-r--r--sys/vm/vm_meter.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c
index 8d3b811..6273c9f 100644
--- a/sys/vm/vm_meter.c
+++ b/sys/vm/vm_meter.c
@@ -39,6 +39,7 @@
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/resource.h>
+#include <sys/sx.h>
#include <sys/vmmeter.h>
#include <vm/vm.h>
@@ -78,7 +79,7 @@ loadav(struct loadavg *avg)
register int i, nrun;
register struct proc *p;
- ALLPROC_LOCK(AP_SHARED);
+ sx_slock(&allproc_lock);
for (nrun = 0, p = LIST_FIRST(&allproc); p != 0; p = LIST_NEXT(p, p_list)) {
switch (p->p_stat) {
case SSLEEP:
@@ -94,7 +95,7 @@ loadav(struct loadavg *avg)
nrun++;
}
}
- ALLPROC_LOCK(AP_RELEASE);
+ sx_sunlock(&allproc_lock);
for (i = 0; i < 3; i++)
avg->ldavg[i] = (cexp[i] * avg->ldavg[i] +
nrun * FSCALE * (FSCALE - cexp[i])) >> FSHIFT;
@@ -150,7 +151,7 @@ vmtotal(SYSCTL_HANDLER_ARGS)
/*
* Calculate process statistics.
*/
- ALLPROC_LOCK(AP_SHARED);
+ sx_slock(&allproc_lock);
LIST_FOREACH(p, &allproc, p_list) {
if (p->p_flag & P_SYSTEM)
continue;
@@ -208,7 +209,7 @@ vmtotal(SYSCTL_HANDLER_ARGS)
if (paging)
totalp->t_pw++;
}
- ALLPROC_LOCK(AP_RELEASE);
+ sx_sunlock(&allproc_lock);
/*
* Calculate object memory usage statistics.
*/
OpenPOWER on IntegriCloud