Date: Wed, 19 May 2004 13:37:26 -0400 (EDT) From: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> To: kwl02r <kwl02r@ecs.soton.ac.uk> Cc: freebsd-net@FreeBSD.ORG Subject: About tcp_fastimo() and tcp_slowtimo() Message-ID: <200405191737.i4JHbQvm000174@khavrinen.lcs.mit.edu> In-Reply-To: <40AB2209.6060108@ecs.soton.ac.uk> References: <40AB2209.6060108@ecs.soton.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
<<On Wed, 19 May 2004 09:59:53 +0100, kwl02r <kwl02r@ecs.soton.ac.uk> said: > 1. Did delay ack time still be detected each 200ms? Which function do > this job? If not, can anybody help to describe some detail things about > delay ack time at freebsd source code. The TCP timer code has been completely rewritten. You can see how it works now by grepping for `callout' in netinet/tcp*.[ch]. This change was necessary in order to scale TCP to large numbers of active connections. Otherwise, a variant of the ``thundering herd'' problem arises, when the old timers must iterate over thousands of TCBs and do essentially the same thing to each one. This way breaks up the synchronization by scheduling timeouts with finer granularity. It also improves TCP performance on fast, congested networks by allowing more granular (and hopefully more accurate) retransmit timeouts. -GAWollman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405191737.i4JHbQvm000174>