summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_zeroidle.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2007-02-05 06:02:55 +0000
committeralc <alc@FreeBSD.org>2007-02-05 06:02:55 +0000
commit4881bd38e2f4061efa354e25c1c66cc0275393a7 (patch)
tree637e68f96e2bfd32a294cf1c8e9174af72387c26 /sys/vm/vm_zeroidle.c
parent7925e63ddf2503578b494beaa7b4e98a843ed6d9 (diff)
downloadFreeBSD-src-4881bd38e2f4061efa354e25c1c66cc0275393a7.zip
FreeBSD-src-4881bd38e2f4061efa354e25c1c66cc0275393a7.tar.gz
Change the free page queue lock from a spin mutex to a default (blocking)
mutex. With the demise of Alpha support, there is no longer a reason for it to be a spin mutex.
Diffstat (limited to 'sys/vm/vm_zeroidle.c')
-rw-r--r--sys/vm/vm_zeroidle.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/vm/vm_zeroidle.c b/sys/vm/vm_zeroidle.c
index 47ec2b4..252f8d5 100644
--- a/sys/vm/vm_zeroidle.c
+++ b/sys/vm/vm_zeroidle.c
@@ -103,14 +103,14 @@ vm_page_zero_idle(void)
static int free_rover;
vm_page_t m;
- mtx_lock_spin(&vm_page_queue_free_mtx);
+ mtx_lock(&vm_page_queue_free_mtx);
zero_state = 0;
m = vm_pageq_find(PQ_FREE, free_rover, FALSE);
if (m != NULL && (m->flags & PG_ZERO) == 0) {
vm_pageq_remove_nowakeup(m);
- mtx_unlock_spin(&vm_page_queue_free_mtx);
+ mtx_unlock(&vm_page_queue_free_mtx);
pmap_zero_page_idle(m);
- mtx_lock_spin(&vm_page_queue_free_mtx);
+ mtx_lock(&vm_page_queue_free_mtx);
m->flags |= PG_ZERO;
vm_pageq_enqueue(PQ_FREE + m->pc, m);
++vm_page_zero_count;
@@ -119,7 +119,7 @@ vm_page_zero_idle(void)
zero_state = 1;
}
free_rover = (free_rover + PQ_PRIME2) & PQ_COLORMASK;
- mtx_unlock_spin(&vm_page_queue_free_mtx);
+ mtx_unlock(&vm_page_queue_free_mtx);
}
/* Called by vm_page_free to hint that a new page is available. */
OpenPOWER on IntegriCloud