From 584a9707550322b0320a4e12ec48d54d96451376 Mon Sep 17 00:00:00 2001 From: alc Date: Fri, 23 Mar 2007 06:11:25 +0000 Subject: vm_page_busy() no longer requires the page queues lock to be held. Reduce the scope of the page queues lock in vm_fault() accordingly. --- sys/vm/vm_fault.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/vm') diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index f56a4b6..4b699c2 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -410,6 +410,7 @@ RetryFault:; VM_WAITPFAULT; goto RetryFault; } + vm_page_unlock_queues(); /* * Mark page busy for other processes, and the @@ -418,7 +419,6 @@ RetryFault:; * found the page ). */ vm_page_busy(fs.m); - vm_page_unlock_queues(); if (((fs.m->valid & VM_PAGE_BITS_ALL) != VM_PAGE_BITS_ALL) && fs.m->object != kernel_object && fs.m->object != kmem_object) { goto readrest; @@ -748,8 +748,8 @@ readrest: * automatically made dirty. */ vm_page_rename(fs.m, fs.first_object, fs.first_pindex); - vm_page_busy(fs.m); vm_page_unlock_queues(); + vm_page_busy(fs.m); fs.first_m = fs.m; fs.m = NULL; PCPU_LAZY_INC(cnt.v_cow_optim); -- cgit v1.1