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 > > Log: > Add soreceive_stream(), an optimized version of soreceive() for > stream (TCP) sockets. > > 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. > > 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. > > This function was written by "reverse engineering" and is not > just a stripped down variant of soreceive(). > > 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. > > Testers, especially with 10GigE gear, are welcome. > > MFP4: r164817 //depot/user/andre/soreceive_stream/ > > Modified: > head/sys/kern/uipc_socket.c > head/sys/netinet/tcp_usrreq.c > head/sys/sys/socketvar.h >
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. -- Ken Smith - From there to here, from here to | kensm...@cse.buffalo.edu there, funny things are everywhere. | - Theodore Geisel |
signature.asc
Description: This is a digitally signed message part