From owner-svn-src-head@FreeBSD.ORG Thu May 6 17:43:41 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D24B51065675; Thu, 6 May 2010 17:43:41 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [69.147.83.44]) by mx1.freebsd.org (Postfix) with ESMTP id C2A998FC17; Thu, 6 May 2010 17:43:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o46Hhf7X044168; Thu, 6 May 2010 17:43:41 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o46Hhfb7044164; Thu, 6 May 2010 17:43:41 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201005061743.o46Hhfb7044164@svn.freebsd.org> From: Alan Cox Date: Thu, 6 May 2010 17:43:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r207708 - in head/sys: kern net X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2010 17:43:42 -0000 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); }