cvs commit: src/sys/kern uipc_socket.c

Andre Oppermann andre at
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 
  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