diff options
author | alc <alc@FreeBSD.org> | 2010-05-06 17:43:41 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-05-06 17:43:41 +0000 |
commit | e6c77ecaeaf0547b92eb4e977cf889fc645585f9 (patch) | |
tree | e7264c27b01119b8e04be3841f3d46a00710b2b1 /sys/kern/uipc_syscalls.c | |
parent | 2c6ea041dced5808d8178e0a7e8e8532e5581ed7 (diff) | |
download | FreeBSD-src-e6c77ecaeaf0547b92eb4e977cf889fc645585f9.zip FreeBSD-src-e6c77ecaeaf0547b92eb4e977cf889fc645585f9.tar.gz |
Remove page queues locking from all sf_buf_mext()-like functions. The page
lock now suffices.
Fix a couple nearby style violations.
Diffstat (limited to 'sys/kern/uipc_syscalls.c')
-rw-r--r-- | sys/kern/uipc_syscalls.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index dd504f8..adcb852 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -1716,7 +1716,6 @@ sf_buf_mext(void *addr, void *args) m = sf_buf_page(args); sf_buf_free(args); vm_page_lock(m); - vm_page_lock_queues(); vm_page_unwire(m, 0); /* * Check for the object going away on us. This can @@ -1725,7 +1724,6 @@ sf_buf_mext(void *addr, void *args) */ if (m->wire_count == 0 && m->object == NULL) vm_page_free(m); - vm_page_unlock_queues(); vm_page_unlock(m); if (addr == NULL) return; @@ -2111,7 +2109,6 @@ retry_space: } if (error) { vm_page_lock(pg); - vm_page_lock_queues(); vm_page_unwire(pg, 0); /* * See if anyone else might know about @@ -2120,10 +2117,8 @@ retry_space: */ if (pg->wire_count == 0 && pg->valid == 0 && pg->busy == 0 && !(pg->oflags & VPO_BUSY) && - pg->hold_count == 0) { + pg->hold_count == 0) vm_page_free(pg); - } - vm_page_unlock_queues(); vm_page_unlock(pg); VM_OBJECT_UNLOCK(obj); if (error == EAGAIN) |