diff options
author | alc <alc@FreeBSD.org> | 2010-05-04 15:55:41 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-05-04 15:55:41 +0000 |
commit | c9aaa1e2a21afcea58a3bec5e8cffd6652fbaa25 (patch) | |
tree | 08dad4596fb8ef71c441ab83e48cd31b53d4c26f /sys/vm/vm_fault.c | |
parent | fbfe456f9697050cf749467e9b47e3aad49f09bb (diff) | |
download | FreeBSD-src-c9aaa1e2a21afcea58a3bec5e8cffd6652fbaa25.zip FreeBSD-src-c9aaa1e2a21afcea58a3bec5e8cffd6652fbaa25.tar.gz |
Add page locking to the vm_page_cow* functions.
Push down the acquisition and release of the page queues lock into
vm_page_wire().
Reviewed by: kib
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r-- | sys/vm/vm_fault.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index f925594..142a9ef 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -315,8 +315,6 @@ RetryFault:; (fault_type & VM_PROT_WRITE) && (fs.object == fs.first_object)) { vm_page_cowfault(fs.m); - vm_page_unlock_queues(); - vm_page_unlock(fs.m); unlock_and_deallocate(&fs); goto RetryFault; } @@ -797,9 +795,7 @@ vnode_locked: if (wired && (fault_flags & VM_FAULT_CHANGE_WIRING) == 0) { vm_page_lock(fs.first_m); - vm_page_lock_queues(); vm_page_wire(fs.first_m); - vm_page_unlock_queues(); vm_page_unlock(fs.first_m); vm_page_lock(fs.m); @@ -1285,9 +1281,7 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map, vm_page_unlock(src_m); vm_page_lock(dst_m); - vm_page_lock_queues(); vm_page_wire(dst_m); - vm_page_unlock_queues(); vm_page_unlock(dst_m); } else { vm_page_lock(dst_m); |