summaryrefslogtreecommitdiffstats
path: root/sys/fs/tmpfs
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2010-06-16 00:41:21 +0000
committeralc <alc@FreeBSD.org>2010-06-16 00:41:21 +0000
commit534c9ebdcf3024b8cbfc47da96de2b3f1264d41c (patch)
tree0e8cf41b54619dd710c5fa8a3fdbf5c8e962b26a /sys/fs/tmpfs
parentb6af132fc750123c48e55c0b472d1ef8a732dc5a (diff)
downloadFreeBSD-src-534c9ebdcf3024b8cbfc47da96de2b3f1264d41c.zip
FreeBSD-src-534c9ebdcf3024b8cbfc47da96de2b3f1264d41c.tar.gz
Eliminate unnecessary page queues locking.
Diffstat (limited to 'sys/fs/tmpfs')
-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 330eea5..88e0939 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)
OpenPOWER on IntegriCloud