netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Stephen Hemminger <shemminger@osdl.org>
Cc: NetDev <netdev@vger.kernel.org>
Subject: Re: TCP connection hang problem with 2.6.16.16, e1000 (found work-around)
Date: Wed, 31 May 2006 15:38:33 -0700	[thread overview]
Message-ID: <447E1AE9.8090102@candelatech.com> (raw)
In-Reply-To: <20060531151018.17110684@localhost.localdomain>

Stephen Hemminger wrote:
> On Wed, 31 May 2006 14:45:13 -0700
> Ben Greear <greearb@candelatech.com> wrote:
> 
> 
>>Ok, I think I found the problem.  It appears to be at least partially
>>self-inflicted.  I was modifying the kernel buffer settings via /proc/*
>>to improve performance.  I noticed that when I used kernel-defaults,
>>the TCP connection hangs stopped (and ran ~20% slower).  My personal opinion
>>is that this is still a bug somewhere in TCP, but at least I have a work-around.
> 
> 
> If you set bogus values, you can end up consuming all the memory on your system.

I still had some sort of memory..ie I could run other applications and could
start a second TCP connection on the same interface.  It is true that you can
truly OOM systems with bad settings here, but my machine has 2GB of RAM, and
I think my setting were low enough that it should not have run out.  It also
had enough memory left to spam the duplicate TCP acks at around 200kpps in
both directions!  Manually over-riding the write buffer size had little or
no effect:  It would still hang.

>>The new settings that appear to work around the TCP connection hang,
>>and still give decent performance are below.  Documentation being thin,
>>I used the suggested values in Documentation/networking/ixgb.txt as
>>hints:
> 
> 
> Settings don't belong in this Documentation file because it a general
> thing not specific to that hardware.

The file was describing how to tune for good performance using their
NICs.

At least most of the TCP settings are described in the networking/ip-sysctl.txt
file, but I could find nothing on the core.rmem_max setting, except in examples
in the 10Gbe NIC help texts.

It would be nice to either have the core.* values described in the
ip-sysctl.txt file, or perhaps add a new file.

There are tuning tips all over the web too...often quite badly
outdated it seems.  Might be a good thing to add to the linux-net wiki.

I'd give it a try, but obviously my info is suspect! :P

Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


  reply	other threads:[~2006-05-31 22:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-31 16:45 TCP connection hang problem with 2.6.16.16, e1000 Ben Greear
2006-05-31 17:26 ` Ben Greear
2006-05-31 17:54 ` Auke Kok
2006-05-31 18:00   ` Ben Greear
2006-05-31 19:37     ` Ben Greear
2006-05-31 21:45       ` TCP connection hang problem with 2.6.16.16, e1000 (found work-around) Ben Greear
2006-05-31 22:10         ` Stephen Hemminger
2006-05-31 22:38           ` Ben Greear [this message]
2006-06-01  2:56 ` TCP connection hang problem with 2.6.16.16, e1000 Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=447E1AE9.8090102@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).