[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iLbJL2Jzot5fy7m07xDhP_iCf8ro8SBzXx1hd0EYVvHcA@mail.gmail.com>
Date: Thu, 14 Oct 2021 14:35:24 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Toke Høiland-Jørgensen <toke@...hat.com>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
netdev <netdev@...r.kernel.org>,
Neal Cardwell <ncardwell@...gle.com>,
Ingemar Johansson S <ingemar.s.johansson@...csson.com>,
Tom Henderson <tomh@...h.org>, Bob Briscoe <in@...briscoe.net>
Subject: Re: [PATCH net-next 2/2] fq_codel: implement L4S style
ce_threshold_ect1 marking
On Thu, Oct 14, 2021 at 12:54 PM Toke Høiland-Jørgensen <toke@...hat.com> wrote:
>
> Eric Dumazet <eric.dumazet@...il.com> writes:
>
> > From: Eric Dumazet <edumazet@...gle.com>
> >
> > Add TCA_FQ_CODEL_CE_THRESHOLD_ECT1 boolean option to select Low Latency,
> > Low Loss, Scalable Throughput (L4S) style marking, along with ce_threshold.
> >
> > If enabled, only packets with ECT(1) can be transformed to CE
> > if their sojourn time is above the ce_threshold.
> >
> > Note that this new option does not change rules for codel law.
> > In particular, if TCA_FQ_CODEL_ECN is left enabled (this is
> > the default when fq_codel qdisc is created), ECT(0) packets can
> > still get CE if codel law (as governed by limit/target) decides so.
>
> The ability to have certain packets receive a shallow marking threshold
> and others regular ECN semantics is no doubt useful. However, given that
> it is by no means certain how the L4S experiment will pan out (and I for
> one remain sceptical that the real-world benefits will turn out to match
> the tech demos), I think it's premature to bake the ECT(1) semantics
> into UAPI.
Chicken and egg problem.
We had fq_codel in linux kernel years before RFC after all :)
>
> So how about tying this behaviour to a configurable skb->mark instead?
> That way users can get the shallow marking behaviour for any subset of
> packets they want, simply by installing a suitable filter on the
> qdisc...
This seems an idea, but do you really expect users installing a sophisticated
filter ? Please provide more details, and cost analysis.
(Having to install a filter is probably more expensive than testing a boolean,
after the sojourn time has exceeded the threshold)
Given that INET_ECN_set_ce(skb) only operates on ECT(1) and ECT(0),
I guess we could use a bitmask of two bits so that users can decide
which code points can become CE.
Powered by blists - more mailing lists