From owner-cvs-src@FreeBSD.ORG Mon Sep 15 20:47:41 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2609B1065679; Mon, 15 Sep 2008 20:47:41 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0EE2A8FC16; Mon, 15 Sep 2008 20:47:41 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id m8FKlequ055200; Mon, 15 Sep 2008 20:47:40 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id m8FKleWk055199; Mon, 15 Sep 2008 20:47:40 GMT (envelope-from rwatson@repoman.freebsd.org) Message-Id: <200809152047.m8FKleWk055199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rwatson@repoman.freebsd.org using -f From: Robert Watson Date: Mon, 15 Sep 2008 20:46:32 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_7 Cc: Subject: cvs commit: src/sys/kern uipc_socket.c src/sys/netinet udp_usrreq.c src/sys/netinet6 udp6_usrreq.c src/sys/sys socketvar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2008 20:47:41 -0000 rwatson 2008-09-15 20:46:32 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/kern uipc_socket.c sys/netinet udp_usrreq.c sys/netinet6 udp6_usrreq.c sys/sys socketvar.h Log: SVN rev 183051 on 2008-09-15 20:46:32Z by rwatson Merge r180198, r180211, r180365, r182682 from head to stable/7: Add soreceive_dgram(9), an optimized socket receive function for use by datagram-only protocols, such as UDP. This version removes use of sblock(), which is not required due to an inability to interlace data improperly with datagrams, as well as avoiding some of the larger loops and state management that don't apply on datagram sockets. This is experimental code, so hook it up only for UDPv4 for testing; if there are problems we may need to revise it or turn it off by default, but it offers *significant* performance improvements for threaded UDP applications such as BIND9, nsd, and memcached using UDP. Tested by: kris, ps Update copyright date in light of soreceive_dgram(9). Use soreceive_dgram() and sosend_dgram() with UDPv6, as we do with UDPv4. Tested by: ps Remove XXXRW in soreceive_dgram that proves unnecessary. Remove unused orig_resid variable in soreceive_dgram. Submitted by: alfred Note: in the MFC, we do enable sosend_dgram for UDPv6 by default (it was already used for UDPv4), but use of soreceive_dgram for both UDPv4 and UDPv6 is controlled by a new loader tunable, net.inet.udp.soreceive_dgram_enabled as soreceive_dgram has less testing exposure than sosend_dgram. We may wish to change the default (and eliminate the tunable) in 7.2. MFC requested by: gnn, kris, ps Approved by: re (kib) Revision Changes Path 1.302.2.6 +230 -1 src/sys/kern/uipc_socket.c 1.218.2.5 +14 -0 src/sys/netinet/udp_usrreq.c 1.81.2.7 +1 -0 src/sys/netinet6/udp6_usrreq.c 1.158.2.5 +3 -0 src/sys/sys/socketvar.h