svn commit: r194672 - in head/sys: kern netinet sys
Ken Smith
kensmith at cse.Buffalo.EDU
Tue Jun 23 00:43:03 UTC 2009
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 | kensmith at cse.buffalo.edu
there, funny things are everywhere. |
- Theodore Geisel |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090623/8849971e/attachment.pgp
More information about the svn-src-all
mailing list