aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2025-10-14 17:13:46 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2025-12-02 03:41:12 +0000
commit202292ef107834bfdbec357a9d1a88b9fcf9ceaa (patch)
treed30e793fbe99988c0eb92518557a3746cdd50269
parent791c531402bd36252532a11c317fb6a5fdb9c000 (diff)
kern/subr_vmem.c: convert explicit vmem_list_lock use to macros
Reviewed by: bnovkov, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27220
-rw-r--r--sys/kern/subr_vmem.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/kern/subr_vmem.c b/sys/kern/subr_vmem.c
index 9288b0935441..06c104b9fce2 100644
--- a/sys/kern/subr_vmem.c
+++ b/sys/kern/subr_vmem.c
@@ -194,6 +194,9 @@ static LIST_HEAD(, vmem) vmem_list = LIST_HEAD_INITIALIZER(vmem_list);
static uma_zone_t vmem_zone;
/* ---- misc */
+#define VMEM_LIST_LOCK() mtx_lock(&vmem_list_lock)
+#define VMEM_LIST_UNLOCK() mtx_unlock(&vmem_list_lock)
+
#define VMEM_CONDVAR_INIT(vm, wchan) cv_init(&vm->vm_cv, wchan)
#define VMEM_CONDVAR_DESTROY(vm) cv_destroy(&vm->vm_cv)
#define VMEM_CONDVAR_WAIT(vm) cv_wait(&vm->vm_cv, &vm->vm_lock)
@@ -777,7 +780,7 @@ vmem_periodic(void *unused, int pending)
vmem_size_t desired;
vmem_size_t current;
- mtx_lock(&vmem_list_lock);
+ VMEM_LIST_LOCK();
LIST_FOREACH(vm, &vmem_list, vm_alllist) {
#ifdef DIAGNOSTIC
/* Convenient time to verify vmem state. */
@@ -802,7 +805,7 @@ vmem_periodic(void *unused, int pending)
*/
VMEM_CONDVAR_BROADCAST(vm);
}
- mtx_unlock(&vmem_list_lock);
+ VMEM_LIST_UNLOCK();
callout_reset(&vmem_periodic_ch, vmem_periodic_interval,
vmem_periodic_kick, NULL);
@@ -1271,9 +1274,9 @@ vmem_init(vmem_t *vm, const char *name, vmem_addr_t base, vmem_size_t size,
}
}
- mtx_lock(&vmem_list_lock);
+ VMEM_LIST_LOCK();
LIST_INSERT_HEAD(&vmem_list, vm, vm_alllist);
- mtx_unlock(&vmem_list_lock);
+ VMEM_LIST_UNLOCK();
return vm;
}
@@ -1301,9 +1304,9 @@ void
vmem_destroy(vmem_t *vm)
{
- mtx_lock(&vmem_list_lock);
+ VMEM_LIST_LOCK();
LIST_REMOVE(vm, vm_alllist);
- mtx_unlock(&vmem_list_lock);
+ VMEM_LIST_UNLOCK();
vmem_destroy1(vm);
}