From: Dave Taht <dave.taht@gmail.com>
To: Yuchung Cheng <ycheng@google.com>
Cc: Nandita Dukkipati <nanditad@google.com>,
netdev <netdev@vger.kernel.org>,
codel@lists.bufferbloat.net, Matt Mathis <mattmathis@google.com>,
Neal Cardwell <ncardwell@google.com>,
David Miller <davem@davemloft.net>
Subject: Re: [Codel] [PATCH net-next] fq_codel: report congestion notification at enqueue time
Date: Thu, 28 Jun 2012 19:47:54 -0400 [thread overview]
Message-ID: <CAA93jw7ywd0auqN=k2J4fLOGYMLRH+agWr4P+_CisgvRtvgJUw@mail.gmail.com> (raw)
In-Reply-To: <CAK6E8=dM0HNjjT=pDWzkBHs2Npi9foAnk1zxXdVLqBxA63dSqw@mail.gmail.com>
On Thu, Jun 28, 2012 at 6:56 PM, Yuchung Cheng <ycheng@google.com> wrote:
> On Thu, Jun 28, 2012 at 11:12 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> On Thu, 2012-06-28 at 10:51 -0700, Dave Taht wrote:
>>
>>> clever idea. A problem is there are other forms of network traffic on
>>> a link, and this is punishing a single tcp
> Dave: it won't just punish a single TCP, all protocols that react to
> XMIT_CN will share similar fate.
What protocols in the kernel do and don't? was the crux of this question.
I'm not objecting to the idea, it's clever, as I said. I'm thinking I'll
apply it to cerowrt's next build and see what happens, if this
will apply against 3.3. Or maybe the ns3 model. Or both.
As a segue...
I am still fond of gaining an ability to also throw congestion notifications
(who, where, and why) up to userspace via netlink. Having a viable
metric for things like mesh routing and multipath has been a age-old
quest of mine, and getting that data out could be a start towards it.
Another example is something that lives in userspace like uTP.
>
>>> stream that may not be the source of the problem in the first place,
>>> and basically putting it into double jeopardy.
>>>
>>
>> Why ? In fact this patch helps the tcp session being signaled (as it
>> will be anyway) at enqueue time, instead of having to react to packet
>> losses indications given (after RTT) by receiver.
I tend to think more in terms of routing packets rather than originating
them.
>> Avoiding losses help receiver to consume data without having to buffer
>> it into Out Of Order queue.
>>
>> So its not jeopardy, but early congestion notification without RTT
>> delay.
Well there is the birthday problem and hashing to the same queues.
the sims we have do some interesting things on new streams in slow
start sometimes. But don't have enough of a grip on it to talk about it
yet...
>>
>> NET_XMIT_CN is a soft signal, far more disruptive than a DROP.
> I don't read here: you mean far "less" disruptive in terms of performance?
I figured eric meant less.
>>
>>> I am curious as to how often an enqueue is actually dropping in the
>>> codel/fq_codel case, the hope was that there would be plenty of
>>> headroom under far more circumstances on this qdisc.
>>>
>>
>> "tc -s qdisc show dev eth0" can show you all the counts.
>>
>> We never drop a packet at enqueue time, unless you hit the emergency
>> limit (10240 packets for fq_codel). When you reach this limit, you are
>> under trouble.
In my own tests with artificial streams that set but don't respect ecn,
I hit limit easily. But that's the subject of another thread on the codel list,
and a different problem entirely. I just am not testing at > 1GigE
speeds and I know you guys are. I worry about behaviors above 10GigE,
and here too, the NET_XMIT_CN idea seems like a good idea.
so, applause. new idea on top of fair queue-ing + codel. cool. So many
hard problems seem to be getting tractable!
--
Dave Täht
http://www.bufferbloat.net/projects/cerowrt/wiki - "3.3.8-6 is out
with fq_codel!"
next prev parent reply other threads:[~2012-06-28 23:47 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-28 17:07 Eric Dumazet
2012-06-28 17:51 ` Dave Taht
2012-06-28 18:12 ` Eric Dumazet
2012-06-28 22:56 ` Yuchung Cheng
2012-06-28 23:47 ` Dave Taht [this message]
2012-06-29 4:50 ` Eric Dumazet
2012-06-29 5:24 ` Dave Taht
2012-07-04 10:11 ` [Codel] [RFC PATCH] tcp: limit data skbs in qdisc layer Eric Dumazet
2012-07-09 7:08 ` David Miller
2012-07-09 8:03 ` Eric Dumazet
2012-07-09 8:48 ` Eric Dumazet
2012-07-09 14:55 ` Eric Dumazet
2012-07-10 13:28 ` Lin Ming
2012-07-10 15:13 ` [Codel] [RFC PATCH v2] tcp: TCP Small Queues Eric Dumazet
2012-07-10 17:06 ` Eric Dumazet
2012-07-10 17:37 ` Yuchung Cheng
2012-07-10 18:32 ` Eric Dumazet
2012-07-11 15:11 ` Eric Dumazet
2012-07-11 15:16 ` Ben Greear
2012-07-11 15:25 ` Eric Dumazet
2012-07-11 15:43 ` Ben Greear
2012-07-11 15:54 ` Eric Dumazet
2012-07-11 16:03 ` Ben Greear
2012-07-11 18:23 ` Rick Jones
2012-07-11 23:38 ` Eric Dumazet
2012-07-11 18:44 ` Rick Jones
2012-07-11 23:49 ` Eric Dumazet
2012-07-12 7:34 ` Eric Dumazet
2012-07-12 7:37 ` David Miller
2012-07-12 7:51 ` Eric Dumazet
2012-07-12 14:55 ` Tom Herbert
2012-07-12 13:33 ` John Heffner
2012-07-12 13:46 ` Eric Dumazet
2012-07-12 16:44 ` John Heffner
2012-07-12 16:54 ` Jim Gettys
2012-06-28 23:52 ` [Codel] [PATCH net-next] fq_codel: report congestion notification at enqueue time Nandita Dukkipati
2012-06-29 4:18 ` Eric Dumazet
2012-06-29 4:53 ` Eric Dumazet
2012-06-29 5:12 ` David Miller
2012-06-29 5:24 ` Eric Dumazet
2012-06-29 5:29 ` David Miller
2012-06-29 5:50 ` Eric Dumazet
2012-06-29 7:53 ` David Miller
2012-06-29 8:04 ` David Miller
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
List information: https://lists.bufferbloat.net/postorius/lists/codel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAA93jw7ywd0auqN=k2J4fLOGYMLRH+agWr4P+_CisgvRtvgJUw@mail.gmail.com' \
--to=dave.taht@gmail.com \
--cc=codel@lists.bufferbloat.net \
--cc=davem@davemloft.net \
--cc=mattmathis@google.com \
--cc=nanditad@google.com \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=ycheng@google.com \
/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