Defer various TCP timer function from callout threads to TCP threads; mainly
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 30 Nov 2008 08:56:16 +0000 (16:56 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 5 Dec 2008 12:49:56 +0000 (20:49 +0800)
commit0f7585238463a8fc3f76acd17deef393fa6efb84
tree955c5b6364bb599bceaf6196a2208e2e3168badb
parent0fa7d7f4db40050e3665ef7072cde53c2fc32847
Defer various TCP timer function from callout threads to TCP threads; mainly
to avoid possible threading races, e.g. when output processing blocking the
current thread.  To save space, only one netmsg is used and is embedded in
tcpcb.  The timer functions needed to be carried out are indicated by the
tasks field in the netmsg.

Reviewed-by: dillon@
Discussed-with: dillon@
With-input-from: hsu@
Tested-by: hasso@
sys/netinet/tcp_debug.c
sys/netinet/tcp_subr.c
sys/netinet/tcp_syncache.c
sys/netinet/tcp_timer.c
sys/netinet/tcp_timer.h
sys/netinet/tcp_usrreq.c
sys/netinet/tcp_var.h