From adc33d3288e59f9f2f6ee5cffe49b0fd57ce0d70 Mon Sep 17 00:00:00 2001 From: Doug Moore Date: Tue, 15 Apr 2025 11:42:06 -0500 Subject: [PATCH] vm_kern: in unback, init cursor while unlocked In kmem_unback(), take one small bit of code out of the region where the write lock is held. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49834 --- sys/vm/vm_kern.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index 2aa5588a758..d13dfb1bc95 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -650,8 +650,8 @@ _kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size) pmap_remove(kernel_pmap, addr, addr + size); offset = addr - VM_MIN_KERNEL_ADDRESS; end = offset + size; - VM_OBJECT_WLOCK(object); vm_page_iter_init(&pages, object); + VM_OBJECT_WLOCK(object); m = vm_radix_iter_lookup(&pages, atop(offset)); domain = vm_page_domain(m); if (__predict_true((m->oflags & VPO_KMEM_EXEC) == 0))