Should syncache.count ever be negative?
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?
More information about the freebsd-net