Re: question about 3sec timeouts with tcp
From: Brett Paden
Date: Wed Apr 02 2008 - 16:19:31 EST
Using Leo's c test on a 2.4.20 kernel, I am __unable__ to create 3000ms
timeouts when doing localhost or interface connections to port 3306
(obviously with a running mysql server). Same results with my test.
*However*, if I run those sames tests against other ports I am able to
generate hangs.
Regardless of kernel, it appears that straight up connections to 3306
behave differently than other ports. If, for example, I generate 1000
connections very quickly to port 22 then run a netstat -na, I will see
loads of those connections sitting in TIME_WAIT. If I run the
identical test against port 3306 and do the same netstat I will see
none of those connections sitting in TIME_WAIT. I'm guessing the mysql
does something aggressive with connections to that port and is possibly
unrelated to our problem. Still, very interesting.
on Wednesday, Apr 02, 2008, Brett Paden, wrote:
> > I think this has something to do with net/ipv4/tcp_input.c which contains
> > code to initiate and process all the incoming tcp packets. I took a look at
> > it, but it is still a very large bunch of code to "review" and I'm far from
> > being as experienced in kernel code than original programmers.
>
> This is exactly where I've been looking, but its extremely tedious to
> figure out what's going on given I'm not familiar with the codebase.
>
> As far as the bug being present in other kernels, we use OS X on
> some other servers and do not have the problem. Obviously this isn't a
> great test case since its closed source; just intresting to note that
> despite their shared BSD lineage something has occured in linux branch.
>
> Also we have a stock FC4 2.6.17 kernel in production and seem to have
> the same problem (although I have not done tcp dumps on these machines
> to verify its identical).
> --
> To unsubscribe from this list: send the line "unsubscribe linux-net" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html