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_cow.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_cow.c')
-rw-r--r-- | sys/kern/uipc_cow.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/kern/uipc_cow.c b/sys/kern/uipc_cow.c index bc9a56a..853b70b 100644 --- a/sys/kern/uipc_cow.c +++ b/sys/kern/uipc_cow.c @@ -81,7 +81,6 @@ socow_iodone(void *addr, void *args) sf_buf_free(sf); /* remove COW mapping */ vm_page_lock(pp); - vm_page_lock_queues(); vm_page_cowclear(pp); vm_page_unwire(pp, 0); /* @@ -91,7 +90,6 @@ socow_iodone(void *addr, void *args) */ if (pp->wire_count == 0 && pp->object == NULL) vm_page_free(pp); - vm_page_unlock_queues(); vm_page_unlock(pp); socow_stats.iodone++; } @@ -147,9 +145,8 @@ socow_setup(struct mbuf *m0, struct uio *uio) * Allocate an sf buf */ sf = sf_buf_alloc(pp, SFB_CATCH); - if (!sf) { + if (sf == NULL) { vm_page_lock(pp); - vm_page_lock_queues(); vm_page_cowclear(pp); vm_page_unwire(pp, 0); /* @@ -159,7 +156,6 @@ socow_setup(struct mbuf *m0, struct uio *uio) */ if (pp->wire_count == 0 && pp->object == NULL) vm_page_free(pp); - vm_page_unlock_queues(); vm_page_unlock(pp); socow_stats.fail_sf_buf++; return(0); |