aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2009-02-22 02:50:31 +0000
committerAlan Cox <alc@FreeBSD.org>2009-02-22 02:50:31 +0000
commitb72cca38a632e854b884aa636e45be54a952ce34 (patch)
tree9a556def9f0e355f2a8ced1980a1a0749d0ddb64 /sys/dev
parentc7c94913bd66b829dc51b8e1d2163777de4f8e9d (diff)
downloadsrc-b72cca38a632e854b884aa636e45be54a952ce34.tar.gz
src-b72cca38a632e854b884aa636e45be54a952ce34.zip
Remove unnecessary page queues locking around vm_page_wakeup(). (This
change is applicable to RELENG_7 but not RELENG_6.) MFC after: 1 week
Notes
Notes: svn path=/head/; revision=188908
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/md/md.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c
index 99b18b186fb9..d3e3da8ac443 100644
--- a/sys/dev/md/md.c
+++ b/sys/dev/md/md.c
@@ -629,9 +629,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
if (rv == VM_PAGER_ERROR) {
sf_buf_free(sf);
sched_unpin();
- vm_page_lock_queues();
vm_page_wakeup(m);
- vm_page_unlock_queues();
break;
}
bcopy((void *)(sf_buf_kva(sf) + offs), p, len);
@@ -641,9 +639,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
if (rv == VM_PAGER_ERROR) {
sf_buf_free(sf);
sched_unpin();
- vm_page_lock_queues();
vm_page_wakeup(m);
- vm_page_unlock_queues();
break;
}
bcopy(p, (void *)(sf_buf_kva(sf) + offs), len);
@@ -655,9 +651,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
if (rv == VM_PAGER_ERROR) {
sf_buf_free(sf);
sched_unpin();
- vm_page_lock_queues();
vm_page_wakeup(m);
- vm_page_unlock_queues();
break;
}
bzero((void *)(sf_buf_kva(sf) + offs), len);
@@ -667,8 +661,8 @@ mdstart_swap(struct md_s *sc, struct bio *bp)
}
sf_buf_free(sf);
sched_unpin();
- vm_page_lock_queues();
vm_page_wakeup(m);
+ vm_page_lock_queues();
vm_page_activate(m);
if (bp->bio_cmd == BIO_WRITE)
vm_page_dirty(m);