diff options
author | jhb <jhb@FreeBSD.org> | 2001-03-28 11:52:56 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-03-28 11:52:56 +0000 |
commit | 79cf991a6bd845fad54bd6a15892cb5aaf74b223 (patch) | |
tree | 1cee6a483c3c79f058207ee2c66c63c38f2ad20a /sys/vm/vm_meter.c | |
parent | 673f3af133009642ca79479ec4db4a25a4ea86d6 (diff) | |
download | FreeBSD-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.c | 9 |
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. */ |