The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=202292ef107834bfdbec357a9d1a88b9fcf9ceaa
commit 202292ef107834bfdbec357a9d1a88b9fcf9ceaa Author: Konstantin Belousov <[email protected]> AuthorDate: 2025-10-14 17:13:46 +0000 Commit: Konstantin Belousov <[email protected]> CommitDate: 2025-12-02 03:41:12 +0000 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 --- sys/kern/subr_vmem.c | 15 +++++++++------ 1 file 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); }
