[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-Ladcx-xFWD__9ybz0=iKLJ4=1yWpiZ0GJu4YfmSvp7wQ@mail.gmail.com>
Date: Fri, 11 Dec 2020 10:15:13 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Vinicius Costa Gomes <vinicius.gomes@...el.com>
Cc: "Geva, Erez" <erez.geva.ext@...mens.com>,
Network Development <netdev@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
Arnd Bergmann <arnd@...db.de>,
Cong Wang <xiyou.wangcong@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
Jakub Kicinski <kuba@...nel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
Jiri Pirko <jiri@...nulli.us>,
Alexei Starovoitov <ast@...nel.org>,
Colin Ian King <colin.king@...onical.com>,
Daniel Borkmann <daniel@...earbox.net>,
Eric Dumazet <edumazet@...gle.com>,
Eyal Birger <eyal.birger@...il.com>,
"Gustavo A . R . Silva" <gustavoars@...nel.org>,
Jakub Sitnicki <jakub@...udflare.com>,
John Ogness <john.ogness@...utronix.de>,
Jon Rosen <jrosen@...co.com>,
Kees Cook <keescook@...omium.org>,
Marc Kleine-Budde <mkl@...gutronix.de>,
Martin KaFai Lau <kafai@...com>,
Matthieu Baerts <matthieu.baerts@...sares.net>,
Andrei Vagin <avagin@...il.com>,
Dmitry Safonov <0x7f454c46@...il.com>,
"Eric W . Biederman" <ebiederm@...ssion.com>,
Ingo Molnar <mingo@...nel.org>,
John Stultz <john.stultz@...aro.org>,
Miaohe Lin <linmiaohe@...wei.com>,
Michal Kubecek <mkubecek@...e.cz>,
Or Cohen <orcohen@...oaltonetworks.com>,
Oleg Nesterov <oleg@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Richard Cochran <richardcochran@...il.com>,
Stefan Schmidt <stefan@...enfreihafen.org>,
Xie He <xie.he.0141@...il.com>,
Stephen Boyd <sboyd@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Vladis Dronov <vdronov@...hat.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Frederic Weisbecker <frederic@...nel.org>,
Vedang Patel <vedang.patel@...el.com>,
"Sudler, Simon" <simon.sudler@...mens.com>,
"Meisinger, Andreas" <andreas.meisinger@...mens.com>,
"henning.schild@...mens.com" <henning.schild@...mens.com>,
"jan.kiszka@...mens.com" <jan.kiszka@...mens.com>,
"Zirkler, Andreas" <andreas.zirkler@...mens.com>
Subject: Re: [PATCH 1/3] Add TX sending hardware timestamp.
> >> >>>> I did not use "Fair Queue traffic policing".
> >> >>>> As for ETF, it is all about ordering packets from different applications.
> >> >>>> How can we achive it with skiping queuing?
> >> >>>> Could you elaborate on this point?
> >> >>>
> >> >>> The qdisc can only defer pacing to hardware if hardware can ensure the
> >> >>> same invariants on ordering, of course.
> >> >>
> >> >> Yes, this is why we suggest ETF order packets using the hardware time-stamp.
> >> >> And pass the packet based on system time.
> >> >> So ETF query the system clock only and not the PHC.
> >> >
> >> > On which note: with this patch set all applications have to agree to
> >> > use h/w time base in etf_enqueue_timesortedlist. In practice that
> >> > makes this h/w mode a qdisc used by a single process?
> >>
> >> A single process theoretically does not need ETF, just set the skb-> tstamp and use a pass through queue.
> >> However the only way now to set TC_SETUP_QDISC_ETF in the driver is using ETF.
> >
> > Yes, and I'd like to eventually get rid of this constraint.
> >
>
> I'm interested in these kind of ideas :-)
>
> What would be your end goal? Something like:
> - Any application is able to set SO_TXTIME;
> - We would have a best effort support for scheduling packets based on
> their transmission time enabled by default;
> - If the hardware supports, there would be a "offload" flag that could
> be enabled;
>
> More or less this?
Exactly. Pacing is stateless, so relatively amenable to offload.
For applications that offload pacing to the OS with SO_TXTIME, such as
QUIC, further reduce jitter and timer wake-ups (and thus cycles) by
offloading to hardware.
Not only for SO_TXTIME, also for pacing initiated by the kernel TCP stack.
Initially, in absence of hardware support, at least in virtual environments
offload from guest to host OS.
Powered by blists - more mailing lists