linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: george.dunlap@eu.citrix.com (George Dunlap)
To: linux-arm-kernel@lists.infradead.org
Subject: [Xen-devel] "tcp: refine TSO autosizing" causes performance regression on Xen
Date: Thu, 16 Apr 2015 12:39:12 +0100	[thread overview]
Message-ID: <552F9F60.7090406@eu.citrix.com> (raw)
In-Reply-To: <1429121867.7346.136.camel@edumazet-glaptop2.roam.corp.google.com>

On 04/15/2015 07:17 PM, Eric Dumazet wrote:
> Do not expect me to fight bufferbloat alone. Be part of the challenge,
> instead of trying to get back to proven bad solutions.

I tried that.  I wrote a description of what I thought the situation
was, so that you could correct me if my understanding was wrong, and
then what I thought we could do about it.  You apparently didn't even
read it, but just pointed me to a single cryptic comment that doesn't
give me enough information to actually figure out what the situation is.

We all agree that bufferbloat is a problem for everybody, and I can
definitely understand the desire to actually make the situation better
rather than dying the death of a thousand exceptions.

If you want help fighting bufferbloat, you have to educate people to
help you; or alternately, if you don't want to bother educating people,
you have to fight it alone -- or lose the battle due to having a
thousand exceptions.

So, back to TSQ limits.  What's so magical about 2 packets being *in the
device itself*?  And what does 1ms, or 2*64k packets (the default for
tcp_limit_output_bytes), have anything to do with it?

Your comment lists three benefits:
1. better RTT estimation
2. faster recovery
3. high rates

#3 is just marketing fluff; it's also contradicted by the statement that
immediately follows it -- i.e., there are drivers for which the
limitation does *not* give high rates.

#1, as far as I can tell, has to do with measuring the *actual* minimal
round trip time of an empty pipe, rather than the round trip time you
get when there's 512MB of packets in the device buffer.  If a device has
a large internal buffer, then having a large number of packets
outstanding means that the measured RTT is skewed.

The goal here, I take it, is to have this "pipe" *exactly* full; having
it significantly more than "full" is what leads to bufferbloat.

#2 sounds like you're saying that if there are too many packets
outstanding when you discover that you need to adjust things, that it
takes a long time for your changes to have an effect; i.e., if you have
5ms of data in the pipe, it will take at least 5ms for your reduced
transmmission rate to actually have an effect.

Is that accurate, or have I misunderstood something?

 -George

  parent reply	other threads:[~2015-04-16 11:39 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09 15:46 "tcp: refine TSO autosizing" causes performance regression on Xen Stefano Stabellini
2015-04-09 16:16 ` Eric Dumazet
2015-04-09 16:36   ` Stefano Stabellini
2015-04-09 17:07     ` Eric Dumazet
2015-04-13 10:56     ` [Xen-devel] " George Dunlap
2015-04-13 13:38       ` Jonathan Davies
2015-04-13 13:49       ` Eric Dumazet
2015-04-15 13:43         ` George Dunlap
2015-04-15 16:38           ` Eric Dumazet
2015-04-15 17:23             ` George Dunlap
2015-04-15 17:29               ` Eric Dumazet
2015-04-15 17:41                 ` George Dunlap
2015-04-15 17:52                   ` Eric Dumazet
2015-04-15 17:55                     ` Rick Jones
2015-04-15 18:08                       ` Eric Dumazet
2015-04-15 18:19                         ` Rick Jones
2015-04-15 18:32                           ` Eric Dumazet
2015-04-15 20:08                             ` Rick Jones
2015-04-15 18:04                     ` George Dunlap
2015-04-15 18:19                       ` Eric Dumazet
2015-04-16  8:56                         ` George Dunlap
2015-04-16  9:20                           ` Daniel Borkmann
2015-04-16 10:01                             ` George Dunlap
2015-04-16 12:42                               ` Eric Dumazet
2015-04-20 11:03                                 ` George Dunlap
2015-06-02  9:52                                 ` Wei Liu
2015-06-02 16:16                                   ` Eric Dumazet
2015-04-16  9:22                           ` David Laight
2015-04-16 10:57                             ` George Dunlap
2015-04-15 17:41               ` Eric Dumazet
2015-04-15 17:58                 ` Stefano Stabellini
2015-04-15 18:17                   ` Eric Dumazet
2015-04-16  4:20                     ` Herbert Xu
2015-04-16  4:30                       ` Eric Dumazet
2015-04-16 11:39                     ` George Dunlap [this message]
2015-04-16 12:16                       ` Eric Dumazet
2015-04-16 13:00                       ` Tim Deegan

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=552F9F60.7090406@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=linux-arm-kernel@lists.infradead.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).