From owner-svn-src-all@FreeBSD.ORG Tue Jun 23 00:43:02 2009 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A33F81065686; Tue, 23 Jun 2009 00:43:02 +0000 (UTC) (envelope-from kensmith@cse.Buffalo.EDU) Received: from phoebe.cse.buffalo.edu (phoebe.cse.buffalo.edu [128.205.32.89]) by mx1.freebsd.org (Postfix) with ESMTP id 60B468FC2D; Tue, 23 Jun 2009 00:43:02 +0000 (UTC) (envelope-from kensmith@cse.Buffalo.EDU) Received: from [128.205.32.76] (bauer.cse.buffalo.edu [128.205.32.76]) (authenticated bits=0) by phoebe.cse.buffalo.edu (8.14.1/8.13.7) with ESMTP id n5N0gxTb012705 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 22 Jun 2009 20:43:02 -0400 (EDT) (envelope-from kensmith@cse.buffalo.edu) From: Ken Smith To: Andre Oppermann In-Reply-To: <200906222308.n5MN856I055711@svn.freebsd.org> References: <200906222308.n5MN856I055711@svn.freebsd.org> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-/kHhM7wMMzw3OTCbG9zP" Organization: U. Buffalo CSE Department Date: Mon, 22 Jun 2009 20:42:59 -0400 Message-Id: <1245717779.7070.39.camel@bauer.cse.buffalo.edu> Mime-Version: 1.0 X-Mailer: Evolution 2.24.5 FreeBSD GNOME Team Port X-DCC-Buffalo.EDU-Metrics: phoebe.cse.buffalo.edu 1029; Body=0 Fuz1=0 Fuz2=0 Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r194672 - in head/sys: kern netinet sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2009 00:43:03 -0000 --=-/kHhM7wMMzw3OTCbG9zP Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Mon, 2009-06-22 at 23:08 +0000, Andre Oppermann wrote: > Author: andre > Date: Mon Jun 22 23:08:05 2009 > New Revision: 194672 > URL: http://svn.freebsd.org/changeset/base/194672 >=20 > Log: > Add soreceive_stream(), an optimized version of soreceive() for > stream (TCP) sockets. > =20 > It is functionally identical to generic soreceive() but has a > number stream specific optimizations: > o does only one sockbuf unlock/lock per receive independent of > the length of data to be moved into the uio compared to > soreceive() which unlocks/locks per *mbuf*. > o uses m_mbuftouio() instead of its own copy(out) variant. > o much more compact code flow as a large number of special > cases is removed. > o much improved reability. > =20 > It offers significantly reduced CPU usage and lock contention > when receiving fast TCP streams. Additional gains are obtained > when the receiving application is using SO_RCVLOWAT to batch up > some data before a read (and wakeup) is done. > =20 > This function was written by "reverse engineering" and is not > just a stripped down variant of soreceive(). > =20 > It is not yet enabled by default on TCP sockets. Instead it is > commented out in the protocol initialization in tcp_usrreq.c > until more widespread testing has been done. > =20 > Testers, especially with 10GigE gear, are welcome. > =20 > MFP4: r164817 //depot/user/andre/soreceive_stream/ >=20 > Modified: > head/sys/kern/uipc_socket.c > head/sys/netinet/tcp_usrreq.c > head/sys/sys/socketvar.h >=20 Can you please explain why you committed this during Code Slush 3 days before Code Freeze started? It looks like something that should be committed after we do the branch for 8.0, it doesn't look like something ready to be part of a release even in its #ifdef-ed-out form. I certainly don't mind it going in after the branch as long as it's had some level of reasonable review. I just think it's too late to be adding this given the stage we're at in the 8.0 release. Thanks. --=20 Ken Smith - From there to here, from here to | kensmith@cse.buffalo.edu there, funny things are everywhere. | - Theodore Geisel | --=-/kHhM7wMMzw3OTCbG9zP Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkpAJRMACgkQ/G14VSmup/ZwaQCfV0OxtSRrTJzglQnW45u/4oic sRUAnjBqLfVj7WK/5M6HKXup1Zj1rajK =VkW6 -----END PGP SIGNATURE----- --=-/kHhM7wMMzw3OTCbG9zP--