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
WARNING: multiple messages have this Message-ID (diff)
From: George Dunlap <george.dunlap@eu.citrix.com>
To: Eric Dumazet <eric.dumazet@gmail.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Jonathan Davies <Jonathan.Davies@citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Wei Liu <wei.liu2@citrix.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
netdev <netdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Eric Dumazet <edumazet@google.com>,
"Paul Durrant" <paul.durrant@citrix.com>,
Christoffer Dall <christoffer.dall@linaro.org>,
Felipe Franciosi <felipe.franciosi@citrix.com>,
<linux-arm-kernel@lists.infradead.org>,
"David Vrabel" <david.vrabel@citrix.com>
Subject: Re: [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
WARNING: multiple messages have this Message-ID (diff)
From: George Dunlap <george.dunlap@eu.citrix.com>
To: Eric Dumazet <eric.dumazet@gmail.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Jonathan Davies <Jonathan.Davies@citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Wei Liu <wei.liu2@citrix.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
netdev <netdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Eric Dumazet <edumazet@google.com>,
Paul Durrant <paul.durrant@citrix.com>,
Christoffer Dall <christoffer.dall@linaro.org>,
Felipe Franciosi <felipe.franciosi@citrix.com>,
linux-arm-kernel@lists.infradead.org,
David Vrabel <david.vrabel@citrix.com>
Subject: Re: [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
next prev parent reply other threads:[~2015-04-16 11:39 UTC|newest]
Thread overview: 91+ 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 15:46 ` Stefano Stabellini
2015-04-09 15:46 ` Stefano Stabellini
2015-04-09 16:16 ` Eric Dumazet
2015-04-09 16:16 ` Eric Dumazet
2015-04-09 16:36 ` Stefano Stabellini
2015-04-09 16:36 ` Stefano Stabellini
2015-04-09 16:36 ` Stefano Stabellini
2015-04-09 17:07 ` Eric Dumazet
2015-04-09 17:07 ` Eric Dumazet
2015-04-13 10:56 ` [Xen-devel] " George Dunlap
2015-04-13 10:56 ` George Dunlap
2015-04-13 13:38 ` Jonathan Davies
2015-04-13 13:38 ` Jonathan Davies
2015-04-13 13:38 ` Jonathan Davies
2015-04-13 13:49 ` Eric Dumazet
2015-04-13 13:49 ` Eric Dumazet
2015-04-15 13:43 ` George Dunlap
2015-04-15 13:43 ` George Dunlap
2015-04-15 16:38 ` Eric Dumazet
2015-04-15 16:38 ` Eric Dumazet
2015-04-15 16:38 ` Eric Dumazet
2015-04-15 17:23 ` George Dunlap
2015-04-15 17:23 ` George Dunlap
2015-04-15 17:23 ` George Dunlap
2015-04-15 17:29 ` Eric Dumazet
2015-04-15 17:29 ` Eric Dumazet
2015-04-15 17:41 ` George Dunlap
2015-04-15 17:41 ` George Dunlap
2015-04-15 17:41 ` George Dunlap
2015-04-15 17:52 ` Eric Dumazet
2015-04-15 17:52 ` Eric Dumazet
2015-04-15 17:55 ` Rick Jones
2015-04-15 17:55 ` Rick Jones
2015-04-15 18:08 ` Eric Dumazet
2015-04-15 18:08 ` Eric Dumazet
2015-04-15 18:19 ` Rick Jones
2015-04-15 18:19 ` Rick Jones
2015-04-15 18:32 ` Eric Dumazet
2015-04-15 18:32 ` Eric Dumazet
2015-04-15 18:32 ` [Xen-devel] " Eric Dumazet
2015-04-15 20:08 ` Rick Jones
2015-04-15 20:08 ` Rick Jones
2015-04-15 20:08 ` Rick Jones
2015-04-15 18:04 ` George Dunlap
2015-04-15 18:04 ` George Dunlap
2015-04-15 18:04 ` George Dunlap
2015-04-15 18:19 ` Eric Dumazet
2015-04-15 18:19 ` Eric Dumazet
2015-04-16 8:56 ` George Dunlap
2015-04-16 8:56 ` George Dunlap
2015-04-16 8:56 ` George Dunlap
2015-04-16 9:20 ` Daniel Borkmann
2015-04-16 9:20 ` Daniel Borkmann
2015-04-16 9:20 ` Daniel Borkmann
2015-04-16 10:01 ` George Dunlap
2015-04-16 10:01 ` George Dunlap
2015-04-16 10:01 ` George Dunlap
2015-04-16 12:42 ` Eric Dumazet
2015-04-16 12:42 ` Eric Dumazet
2015-04-20 11:03 ` George Dunlap
2015-04-20 11:03 ` George Dunlap
2015-06-02 9:52 ` Wei Liu
2015-06-02 9:52 ` Wei Liu
2015-06-02 9:52 ` Wei Liu
2015-06-02 16:16 ` Eric Dumazet
2015-06-02 16:16 ` Eric Dumazet
2015-04-16 9:22 ` David Laight
2015-04-16 9:22 ` David Laight
2015-04-16 9:22 ` David Laight
2015-04-16 10:57 ` George Dunlap
2015-04-16 10:57 ` George Dunlap
2015-04-15 17:41 ` Eric Dumazet
2015-04-15 17:41 ` Eric Dumazet
2015-04-15 17:58 ` Stefano Stabellini
2015-04-15 17:58 ` Stefano Stabellini
2015-04-15 17:58 ` Stefano Stabellini
2015-04-15 18:17 ` Eric Dumazet
2015-04-15 18:17 ` Eric Dumazet
2015-04-16 4:20 ` Herbert Xu
2015-04-16 4:20 ` Herbert Xu
2015-04-16 4:30 ` Eric Dumazet
2015-04-16 4:30 ` Eric Dumazet
2015-04-16 11:39 ` George Dunlap [this message]
2015-04-16 11:39 ` George Dunlap
2015-04-16 11:39 ` George Dunlap
2015-04-16 12:16 ` Eric Dumazet
2015-04-16 12:16 ` Eric Dumazet
2015-04-16 13:00 ` Tim Deegan
2015-04-16 13:00 ` Tim Deegan
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.