netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Hutchings <bhutchings@solarflare.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Neal Cardwell <ncardwell@google.com>,
	Netdev <netdev@vger.kernel.org>, <alekcejk@googlemail.com>
Subject: Re: limited network bandwidth with 3.2.x kernels
Date: Thu, 16 Feb 2012 16:37:52 +0000	[thread overview]
Message-ID: <1329410272.2601.10.camel@bwh-desktop> (raw)
In-Reply-To: <1329404975.10004.3.camel@edumazet-HP-Compaq-6005-Pro-SFF-PC>

On Thu, 2012-02-16 at 16:09 +0100, Eric Dumazet wrote:
> Le jeudi 16 février 2012 à 13:51 +0000, Ben Hutchings a écrit :
> 
> > I'm aware of this problem and I believe it exists with most
> > implementations of LRO.
> > 
> > The out-of-tree version of the sfc driver has its own soft-LRO
> > implementation (SSR) which does some limited connection tracking to
> > detect slow start and disable aggregation temporarily.  I've been
> > meaning to look into enhancing GRO to match SSR, but haven't got round
> > to it yet.
> 
> 
> Not sure why we cant change tcp_grow_window() to take into account
> number of segments in skb ?

Maybe it's as simple as that.  I don't pretend to understand the details
of TCP flow control.

I checked with David Riddoch who originally implemented SSR.  His
concern was that each aggregated packet received results in at most one
ACK and some senders then won't grow their congestion window as fast as
they would if we were ACKing each wire-level packet (or every 2
packets).  But since current Linux *as a sender* counts the ACKed bytes
and not the packets, I don't think it's relevant to this particular
problem.

Ben.

> It currently increments rcv_ssthresh by a fixed amount (2 * advmss)
> 
>         if (tcp_win_from_space(skb->truesize) <= skb->len)
>                 incr = 2 * tp->advmss;
>         else
>                 incr = __tcp_grow_window(sk, skb);
>         if (incr) {
>                 tp->rcv_ssthresh = min(tp->rcv_ssthresh + incr,
>                                        tp->window_clamp);
>                 inet_csk(sk)->icsk_ack.quick |= 1;
>                 }
> 
> 
> 

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

  reply	other threads:[~2012-02-16 16:38 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
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 [this message]
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=1329410272.2601.10.camel@bwh-desktop \
    --to=bhutchings@solarflare.com \
    --cc=alekcejk@googlemail.com \
    --cc=eric.dumazet@gmail.com \
    --cc=ncardwell@google.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;
as well as URLs for NNTP newsgroup(s).