kernel - MPSAFE the protocol drain routines
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Sep 2010 05:53:49 +0000 (22:53 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Sep 2010 05:53:49 +0000 (22:53 -0700)
commit2d23a8bebdf3b83c06495aceae0d5f64f404b9d0
tree60a2eec20b03fd9657d236fd139a1c7174d09a4c
parent5bd48c1dd9365771815381ca8eb46d076073aba5
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.
sys/netinet/ip_input.c
sys/netinet/tcp_input.c
sys/netinet/tcp_output.c
sys/netinet/tcp_subr.c
sys/sys/mbuf.h