[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <willemdebruijn.kernel.e4c6aa98a939@gmail.com>
Date: Sat, 29 Nov 2025 12:06:51 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Eric Dumazet <edumazet@...gle.com>,
John Stultz <jstultz@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>,
Stephen Boyd <sboyd@...nel.org>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
netdev@...r.kernel.org,
Eric Dumazet <eric.dumazet@...il.com>,
Eric Dumazet <edumazet@...gle.com>,
Kevin Yang <yyd@...gle.com>,
Willem de Bruijn <willemb@...gle.com>,
Neal Cardwell <ncardwell@...gle.com>,
Yuchung Cheng <ycheng@...gle.com>
Subject: Re: [PATCH] time/timecounter: inline timecounter_cyc2time()
Eric Dumazet wrote:
> New network transport protocols want NIC drivers to get hwtstamps
> of all incoming packets, and possibly all outgoing packets.
>
> Swift congestion control is used by good old TCP transport and is
> our primary need for timecounter_cyc2time(). This will be upstreamed soon.
>
> This means timecounter_cyc2time() can be called more than 100 million
> times per second on a busy server.
>
> Inlining timecounter_cyc2time() brings a 12 % improvement on a
> UDP receive stress test on a 100Gbit NIC.
>
> Note that FDO, LTO, PGO are unable to magically help for this
> case, presumably because NIC drivers are almost exclusively shipped
> as modules.
>
> Add an unlikely() around the cc_cyc2ns_backwards() case,
> even if FDO (when used) is able to take care of this optimization.
>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> Link: https://research.google/pubs/swift-delay-is-simple-and-effective-for-congestion-control-in-the-datacenter/
> Cc: Kevin Yang <yyd@...gle.com>
> Cc: Willem de Bruijn <willemb@...gle.com>
> Cc: Neal Cardwell <ncardwell@...gle.com>
> Cc: Yuchung Cheng <ycheng@...gle.com>
Reviewed-by: Willem de Bruijn <willemb@...gle.com>
Powered by blists - more mailing lists