Date: Thu, 6 May 2010 17:43:41 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r207708 - in head/sys: kern net Message-ID: <201005061743.o46Hhfb7044164@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: alc Date: Thu May 6 17:43:41 2010 New Revision: 207708 URL: http://svn.freebsd.org/changeset/base/207708 Log: Remove page queues locking from all sf_buf_mext()-like functions. The page lock now suffices. Fix a couple nearby style violations. Modified: head/sys/kern/uipc_cow.c head/sys/kern/uipc_syscalls.c head/sys/net/bpf_zerocopy.c Modified: head/sys/kern/uipc_cow.c ============================================================================== --- head/sys/kern/uipc_cow.c Thu May 6 17:37:23 2010 (r207707) +++ head/sys/kern/uipc_cow.c Thu May 6 17:43:41 2010 (r207708) @@ -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 * 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 */ 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); Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Thu May 6 17:37:23 2010 (r207707) +++ head/sys/kern/uipc_syscalls.c Thu May 6 17:43:41 2010 (r207708) @@ -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) Modified: head/sys/net/bpf_zerocopy.c ============================================================================== --- head/sys/net/bpf_zerocopy.c Thu May 6 17:37:23 2010 (r207707) +++ head/sys/net/bpf_zerocopy.c Thu May 6 17:43:41 2010 (r207708) @@ -113,11 +113,9 @@ zbuf_page_free(vm_page_t pp) { vm_page_lock(pp); - vm_page_lock_queues(); vm_page_unwire(pp, 0); if (pp->wire_count == 0 && pp->object == NULL) vm_page_free(pp); - vm_page_unlock_queues(); vm_page_unlock(pp); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005061743.o46Hhfb7044164>