Should syncache.count ever be negative?

Mike Silbersack silby at silby.com
Fri Nov 9 20:13:16 PST 2007


On Fri, 9 Nov 2007, Matt Reimer wrote:

> On a eight core machine running RELENG_7 I'm seeing TCP stalls,
> sometimes lasting up to 60 seconds or so. While trying to track this
> down I noticed that net.inet.tcp.syncache.count is negative. Should it
> be possible for the count to go negative? Perhaps it indicates a race,
> or the counter is wrongly being decremented twice?

I just took a look at the code, and you are correct that the count is not 
locked; it looks like you're hitting the race.  However, it doesn't look 
like anything is checking the count, so that should not be the cause of 
your TCP stalls.

Can you install netperf and run both the TCP_STREAM and UDP_STREAM tests 
just to make sure that your network card is working properly?  We've 
recently found that the fast interrupt handlers we use in some network 
drivers act strangely when sharing interrupts.  So, that's a first thing 
to test before we poke at the upper layers.

If that doesn't help, can you post more details about how you are 
stressing the system?

Thanks,

-Mike


More information about the freebsd-net mailing list