diff options
author | alc <alc@FreeBSD.org> | 2007-02-05 06:02:55 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2007-02-05 06:02:55 +0000 |
commit | 4881bd38e2f4061efa354e25c1c66cc0275393a7 (patch) | |
tree | 637e68f96e2bfd32a294cf1c8e9174af72387c26 /sys/vm/vm_zeroidle.c | |
parent | 7925e63ddf2503578b494beaa7b4e98a843ed6d9 (diff) | |
download | FreeBSD-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.c | 8 |
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. */ |