public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: alekcejk@googlemail.com
Cc: netdev@vger.kernel.org
Subject: Re: Re: limited network bandwidth with 3.2.x kernels
Date: Tue, 21 Feb 2012 17:45:51 +0100	[thread overview]
Message-ID: <1329842751.18384.10.camel@edumazet-laptop> (raw)
In-Reply-To: <5196304.nDv69tPK8W@localhost.localdomain>

Le mardi 21 février 2012 à 06:21 +0200, alekcejk@googlemail.com a 
> I tested last released 3.2.7 kernel (2.6.42.7-1.fc15.i686).
> Speed problems in 3.2.7 the same as in 3.2.6.
> 

I am not sure what you expected from 3.2.7, given we still are
discussing of issues.

> I also have Fedora Rawhide installed in virtual machine (e1000 driver used there)
> running on host with 3.1.10 kernel.
> And I noticed that after one of 3.3 rc's (or even rc's of 3.2) kernel updates download speed of
> updates from dl.fedoraproject.org in VM became extremely slow - about 160 kilobytes/sec
> instead of 1,2 megabytes/sec as it was before.
> But recently (somewhere between 3.3 rc3 and rc4) speed became again
> as it should 1,2 MB/s.
> 
> Don't know is this problem related with speed in 3.2.x kernels
> and it is hard to debug this now.
> 

We have a pretty clear idea of what happens, we have to decide if we 
must change kernel defaults now or not.

On prior kernels, memory accounting was wrong, and a socket could
consume far more memory than the limit given.

See the 3rd column in :

net.ipv4.tcp_wmem = 4096        16384   897664
net.ipv4.tcp_rmem = 4096        87380   897664

We now have a more correct 'truesize' accounting, and this means a
socket cannot lie anymore : Instead of consuming 1.200.000 bytes for receive
buffers, it really cannot consume more than 897664 bytes.
(unless yet another driver try to lie)

On your 32bit kernel, this means the tcp_rmem[2] (897664) really 
can be too small for your case with a 50 ms RTT, since memory/rtt is
limiting the bandwidth.

On a 64bit kernel, we hit the memory/rtt limit less often because
tcp_rmem[2] default value is 4127616, unless you have very small
available memory.

Maybe we should default tcp_rmem[2] to 4Mbytes, even on 32bit kernel.

Could you try :

sysctl net.ipv4.tcp_rmem="4096 87380 4127616"
or
echo "4096 87380 4127616" >/proc/sys/net/ipv4/tcp_rmem

  reply	other threads:[~2012-02-21 16:45 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-13 20:04 limited network bandwidth with 3.2.x kernels alekcejk
2012-02-13 20:18 ` Eric Dumazet
2012-02-13 21:13   ` Eric Dumazet
2012-02-13 21:58     ` alekcejk
2012-02-13 22:44       ` Eric Dumazet
2012-02-13 22:51         ` Neal Cardwell
2012-02-13 23:09           ` alekcejk
2012-02-13 23:14             ` Eric Dumazet
2012-02-13 23:24               ` alekcejk
2012-02-13 23:49         ` alekcejk
2012-02-14  3:06           ` Neal Cardwell
2012-02-14  3:26             ` alekcejk
2012-02-14  5:55           ` Eric Dumazet
2012-02-14 14:09             ` alekcejk
2012-02-13 21:16   ` alekcejk
2012-02-21  4:21   ` alekcejk
2012-02-21 16:45     ` Eric Dumazet [this message]
2012-02-21 17:19       ` alekcejk
2012-02-21 17:31         ` Eric Dumazet
2012-02-21 18:53           ` alekcejk
2012-02-22  1:26           ` alekcejk
     [not found] ` <1920135.kl3o7Tt79c@localhost.localdomain>
     [not found]   ` <1329228798.4818.0.camel@edumazet-HP-Compaq-6005-Pro-SFF-PC>
2012-02-14 14:28     ` alekcejk
2012-02-14 16:00       ` Eric Dumazet
2012-02-14 16:43         ` alekcejk
2012-02-15  4:43           ` Eric Dumazet
2012-02-15  6:03             ` Neal Cardwell
2012-02-15  6:06               ` Eric Dumazet
2012-02-15  7:52                 ` Bill Fink
2012-02-15  8:00                   ` Eric Dumazet
2012-02-15  8:18                     ` Bill Fink
2012-02-15  8:31                       ` Eric Dumazet
2012-02-15 13:44                   ` alekcejk
2012-02-15 13:43               ` Re: Re: Re: Re: " alekcejk
2012-02-15 13:44             ` alekcejk
2012-02-15 13:49               ` Eric Dumazet
2012-02-15 13:53                 ` Eric Dumazet
2012-02-15 14:11                 ` alekcejk
2012-02-15 14:49                   ` Neal Cardwell
2012-02-15 14:56                     ` Eric Dumazet
2012-02-15 15:05                     ` alekcejk
2012-02-15 15:08                   ` Eric Dumazet
2012-02-15 19:44                     ` Neal Cardwell
2012-02-16  7:29                       ` Eric Dumazet
2012-02-16 13:40                         ` Eric Dumazet
2012-02-16 13:51                           ` Ben Hutchings
2012-02-16 15:09                             ` Eric Dumazet
2012-02-16 16:37                               ` Ben Hutchings
2012-02-16 17:01                               ` David Miller
2012-02-16 17:22                                 ` Neal Cardwell
2012-02-16 17:54                                   ` alekcejk
2012-02-16 18:19                                     ` Neal Cardwell
2012-02-16 21:49                                       ` alekcejk
2012-02-16 21:59                                         ` Eric Dumazet
2012-02-16 22:08                                           ` alekcejk
2012-02-16 22:35                                             ` Eric Dumazet
2012-02-17 16:41                                               ` Neal Cardwell
2012-02-21 18:41                                                 ` Eric Dumazet
2012-02-21 19:11                                                   ` David Miller
2012-02-22  5:51                                                   ` Neal Cardwell
2012-02-22  7:36                                                     ` Eric Dumazet
2012-02-23 18:39                                                       ` Neal Cardwell
2012-02-23 18:49                                                         ` Eric Dumazet
2012-02-27 19:39                                                         ` David Miller
2012-02-17 16:55                                           ` Re: " Neal Cardwell
2012-02-16 18:22                                   ` Eric Dumazet
2012-02-16 19:44                                     ` Eric Dumazet

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=1329842751.18384.10.camel@edumazet-laptop \
    --to=eric.dumazet@gmail.com \
    --cc=alekcejk@googlemail.com \
    --cc=netdev@vger.kernel.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