aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2010-06-16 00:41:21 +0000
committerAlan Cox <alc@FreeBSD.org>2010-06-16 00:41:21 +0000
commit8393d186b99c44e964f4a464c18ee7eeca2b8ce7 (patch)
tree0e8cf41b54619dd710c5fa8a3fdbf5c8e962b26a /sys
parent8886dc16524f9239f452d504ab8e5621a13d7e2c (diff)
downloadsrc-8393d186b99c44e964f4a464c18ee7eeca2b8ce7.tar.gz
src-8393d186b99c44e964f4a464c18ee7eeca2b8ce7.zip
Eliminate unnecessary page queues locking.
Notes
Notes: svn path=/head/; revision=209226
Diffstat (limited to 'sys')
-rw-r--r--sys/fs/tmpfs/tmpfs_vnops.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c
index 330eea575380..88e093996486 100644
--- a/sys/fs/tmpfs/tmpfs_vnops.c
+++ b/sys/fs/tmpfs/tmpfs_vnops.c
@@ -653,9 +653,7 @@ lookupvpg:
goto lookupvpg;
}
vm_page_busy(vpg);
- vm_page_lock_queues();
vm_page_undirty(vpg);
- vm_page_unlock_queues();
VM_OBJECT_UNLOCK(vobj);
error = uiomove_fromphys(&vpg, offset, tlen, uio);
} else {
@@ -690,15 +688,13 @@ nocache:
out:
if (vobj != NULL)
VM_OBJECT_LOCK(vobj);
- vm_page_lock(tpg);
- vm_page_lock_queues();
if (error == 0) {
KASSERT(tpg->valid == VM_PAGE_BITS_ALL,
("parts of tpg invalid"));
vm_page_dirty(tpg);
}
+ vm_page_lock(tpg);
vm_page_unwire(tpg, TRUE);
- vm_page_unlock_queues();
vm_page_unlock(tpg);
vm_page_wakeup(tpg);
if (vpg != NULL)