diff options
| author | Alan Cox <alc@FreeBSD.org> | 2002-04-20 07:23:22 +0000 |
|---|---|---|
| committer | Alan Cox <alc@FreeBSD.org> | 2002-04-20 07:23:22 +0000 |
| commit | a569838764665c3655d359e414236ca8ca7e8a38 (patch) | |
| tree | ecd9967c03b704767150a51c3172dbb0ece35798 /sys/vm/vm_meter.c | |
| parent | 32eb065e64cb21aa2eec47d29d7f8356591948d1 (diff) | |
Notes
Diffstat (limited to 'sys/vm/vm_meter.c')
| -rw-r--r-- | sys/vm/vm_meter.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index fde1f49833476..935979ae017d9 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -95,8 +95,10 @@ vmtotal(SYSCTL_HANDLER_ARGS) * Mark all objects as inactive. */ GIANT_REQUIRED; + mtx_lock(&vm_object_list_mtx); TAILQ_FOREACH(object, &vm_object_list, object_list) vm_object_clear_flag(object, OBJ_ACTIVE); + mtx_unlock(&vm_object_list_mtx); /* * Calculate process statistics. */ @@ -164,6 +166,7 @@ vmtotal(SYSCTL_HANDLER_ARGS) /* * Calculate object memory usage statistics. */ + mtx_lock(&vm_object_list_mtx); TAILQ_FOREACH(object, &vm_object_list, object_list) { /* * devices, like /dev/mem, will badly skew our totals @@ -186,6 +189,7 @@ vmtotal(SYSCTL_HANDLER_ARGS) } } } + mtx_unlock(&vm_object_list_mtx); totalp->t_free = cnt.v_free_count + cnt.v_cache_count; return (sysctl_handle_opaque(oidp, totalp, sizeof total, req)); } |
