cvs commit: src/sys/kern uipc_socket.c
Andre Oppermann
andre at FreeBSD.org
Thu Nov 2 17:45:29 UTC 2006
andre 2006-11-02 17:45:28 UTC
FreeBSD src repository
Modified files:
sys/kern uipc_socket.c
Log:
Use the improved m_uiotombuf() function instead of home grown sosend_copyin()
to do the userland to kernel copying in sosend_generic() and sosend_dgram().
sosend_copyin() is retained for ZERO_COPY_SOCKETS which are not yet supported
by m_uiotombuf().
Benchmaring shows significant improvements (95% confidence):
66% less cpu (or 2.9 times better) with new sosend vs. old sosend (non-TSO)
65% less cpu (or 2.8 times better) with new sosend vs. old sosend (TSO)
(Sender AMD Opteron 852 (2.6GHz) with em(4) PCI-X-133 interface and receiver
DELL Poweredge SC1425 P-IV Xeon 3.2GHz with em(4) LOM connected back to back
at 1000Base-TX full duplex.)
Sponsored by: TCP/IP Optimization Fundraise 2005
MFC after: 3 month
Revision Changes Path
1.285 +29 -1 src/sys/kern/uipc_socket.c
More information about the cvs-src
mailing list