git: kernel - MPSAFE the protocol drain routines

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Sep 8 22:57:13 PDT 2010


commit 2d23a8bebdf3b83c06495aceae0d5f64f404b9d0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Sep 8 22:53:49 2010 -0700

    kernel - MPSAFE the protocol drain routines
    
    * The ip fragment drain was not MPSAFE at all.  Use a token to protect
      the ipq[] queues.
    
    * The tcp reassembly code was only partially MPSAFE due to being
      per-cpu.  Finish it up.  Use atomic ops for the tcp_reass_qsize
      global.
    
    * Add port assertions in the TCP input and output paths.  If we
      are not in the correct thread we panic, period.
    
    * Code cleanup.

Summary of changes:
 sys/netinet/ip_input.c   |   40 +++++++++++++++++++++++-------
 sys/netinet/tcp_input.c  |   59 ++++++++++++++++++++++++++++++++--------------
 sys/netinet/tcp_output.c |    2 +
 sys/netinet/tcp_subr.c   |   34 ++++++++++++++++++--------
 sys/sys/mbuf.h           |    2 +-
 5 files changed, 97 insertions(+), 40 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2d23a8bebdf3b83c06495aceae0d5f64f404b9d0


-- 
DragonFly BSD source repository





More information about the Commits mailing list