diff options
author | alc <alc@FreeBSD.org> | 2010-06-16 00:41:21 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-06-16 00:41:21 +0000 |
commit | 534c9ebdcf3024b8cbfc47da96de2b3f1264d41c (patch) | |
tree | 0e8cf41b54619dd710c5fa8a3fdbf5c8e962b26a /sys | |
parent | b6af132fc750123c48e55c0b472d1ef8a732dc5a (diff) | |
download | FreeBSD-src-534c9ebdcf3024b8cbfc47da96de2b3f1264d41c.zip FreeBSD-src-534c9ebdcf3024b8cbfc47da96de2b3f1264d41c.tar.gz |
Eliminate unnecessary page queues locking.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/tmpfs/tmpfs_vnops.c | 6 |
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) |