From: Eric Dumazet <eric.dumazet@gmail.com>
To: "Dave Täht" <d@taht.net>
Cc: Jonathan Morton <chromatix99@gmail.com>,
David Miller <davem@davemloft.net>,
netdev <netdev@vger.kernel.org>
Subject: Re: ECN + pfifo_fast borked? (Was Re: [Bloat] shaper team forming up)
Date: Tue, 15 Mar 2011 07:15:49 +0100 [thread overview]
Message-ID: <1300169749.2649.142.camel@edumazet-laptop> (raw)
In-Reply-To: <87ipvlosvz.fsf_-_@cruithne.co.teklibre.org>
Le lundi 14 mars 2011 à 23:27 -0600, Dave Täht a écrit :
> Well, that makes 3 of us that think it's wrong. Can we get more?
>
> (I'll run through the math again in the morning)
>
> It's most often not actually "enablement" but "assertion", when for
> example an ECN bit is put on an ACK packet (by an application, or qdisc)
> , it drops that ACK packet into the 2 queue - leaving all the other
> non-ECN asserted packets in that flow to flow out ahead of it.
>
There are two ECN bits, not one.
The low order bit is not taken into account by skb->priority mapping.
The high order bit cannot be changed during flow lifetime.
(So : no OOO (Out Of Order) problems on say TCP flows)
> Or so dan siemon & I & now you, think. It's late and I really want to recheck
> the math and the shifts in the morning. However, if true... this would
> explain much ECN related weirdness precisely where it has been hard to
> measure, on heavily loaded systems.
>
> >
> > Thanks
> >
> > diff --git a/net/ipv4/route.c b/net/ipv4/route.c
> > index 6ed6603..fabfe81 100644
> > --- a/net/ipv4/route.c
> > +++ b/net/ipv4/route.c
> > @@ -171,7 +171,7 @@ static struct dst_ops ipv4_dst_ops = {
> >
> > const __u8 ip_tos2prio[16] = {
> > TC_PRIO_BESTEFFORT,
> > - ECN_OR_COST(FILLER),
> > + ECN_OR_COST(BESTEFFORT),
> > TC_PRIO_BESTEFFORT,
> > ECN_OR_COST(BESTEFFORT),
> > TC_PRIO_BULK,
> >
>
> I think this is a good short term fix, but it will mildly upset people
> that actually still use minimum cost and don't use ECN. That said,
> RFC1349 has been obsolete for a decade now, and ECN enabled servers are
> at 12% penetration according to MIT.
>
If minimum cost was asked by people, their packets had chance being
dropped. Why should they be upset ?
ECN should be favored anyway in 2011, now everybody is ready.
> Still, long term, doing a sch_pfifo_dscp that would be fully compliant
> with the relevant modern RFCs and eventually making that the standard
> would be good.
>
sch_pfifo_fast is not the place we perform the TOS -> priority mapping.
Its done in another layer.
That is of litle effect, given TOS values are meaningfull only inside a
domain. Nobody can force everyone to use same semantics on the Internet,
even with a standard RFC. I doubt people using linux machines at home
really need DSCP at all.
What we could do instead is to favor a bit ECN enabled connections,
using 4 bands instead of 3 for pfifo_fast (linux default qdisc, probably
the most used qdisc)
band 0 : high priority packets (like now)
band 1 : (old band 1, ECN capable flows)
band 2 : (old band 1, no ECN flows)
band 3 : low priority packets (old band 2)
Note : pfifo_fast is mostly used on end hosts, not on routers (where
admins setup non default qdiscs), and typical end hosts never experiment
packet drops on their qdiscs, because they are now plugged to Gigabit
LANS, and device queuelength is so big.
next prev parent reply other threads:[~2011-03-15 6:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87wrk1a4gx.fsf@cruithne.co.teklibre.org>
[not found] ` <5BC42741-852B-4699-BA5D-D70B8D610D96@gmail.com>
2011-03-14 20:24 ` [Bloat] shaper team forming up Eric Dumazet
2011-03-15 4:42 ` Eric Dumazet
2011-03-15 5:27 ` ECN + pfifo_fast borked? (Was Re: [Bloat] shaper team forming up) Dave Täht
2011-03-15 6:15 ` Eric Dumazet [this message]
2011-03-15 17:09 ` Jonathan Morton
2011-03-15 18:28 ` Eric Dumazet
2011-03-15 18:37 ` Jonathan Morton
2011-03-15 19:56 ` Eric Dumazet
2011-03-15 22:51 ` [Bloat] shaper team forming up David Miller
2011-03-15 22:53 ` David Miller
2011-03-15 23:00 ` Eric Dumazet
2011-03-15 23:56 ` [PATCH] net_sched: fix ip_tos2prio Eric Dumazet
2011-03-16 1:54 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1300169749.2649.142.camel@edumazet-laptop \
--to=eric.dumazet@gmail.com \
--cc=chromatix99@gmail.com \
--cc=d@taht.net \
--cc=davem@davemloft.net \
--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