cvs commit: src/sys/kern uipc_socket.c src/sys/netinet udp_usrreq.c src/sys/netinet6 udp6_usrreq.c src/sys/sys socketvar.h

Robert Watson rwatson at
Mon Sep 15 20:47:41 UTC 2008

rwatson     2008-09-15 20:46:32 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/kern             uipc_socket.c 
    sys/netinet          udp_usrreq.c 
    sys/netinet6         udp6_usrreq.c 
    sys/sys              socketvar.h 
  SVN rev 183051 on 2008-09-15 20:46:32Z by rwatson
  Merge r180198, r180211, r180365, r182682 from head to stable/7:
    Add soreceive_dgram(9), an optimized socket receive function for use by
    datagram-only protocols, such as UDP.  This version removes use of
    sblock(), which is not required due to an inability to interlace data
    improperly with datagrams, as well as avoiding some of the larger loops
    and state management that don't apply on datagram sockets.
    This is experimental code, so hook it up only for UDPv4 for testing; if
    there are problems we may need to revise it or turn it off by default,
    but it offers *significant* performance improvements for threaded UDP
    applications such as BIND9, nsd, and memcached using UDP.
    Tested by:      kris, ps
    Update copyright date in light of soreceive_dgram(9).
    Use soreceive_dgram() and sosend_dgram() with UDPv6, as we do with UDPv4.
    Tested by:      ps
    Remove XXXRW in soreceive_dgram that proves unnecessary.
    Remove unused orig_resid variable in soreceive_dgram.
    Submitted by:   alfred
  Note: in the MFC, we do enable sosend_dgram for UDPv6 by default (it was
  already used for UDPv4), but use of soreceive_dgram for both UDPv4 and
  UDPv6 is controlled by a new loader tunable,
  net.inet.udp.soreceive_dgram_enabled as soreceive_dgram has less testing
  exposure than sosend_dgram.  We may wish to change the default (and
  eliminate the tunable) in 7.2.
  MFC requested by:       gnn, kris, ps
  Approved by:            re (kib)
  Revision   Changes    Path
  1.302.2.6  +230 -1    src/sys/kern/uipc_socket.c  +14 -0     src/sys/netinet/udp_usrreq.c   +1 -0      src/sys/netinet6/udp6_usrreq.c  +3 -0      src/sys/sys/socketvar.h

More information about the cvs-src mailing list