[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b58d8075-cf21-4560-ac89-b8ad860f19cd@iogearbox.net>
Date: Mon, 7 Oct 2024 19:50:05 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: "Jason A. Donenfeld" <Jason@...c4.com>
Cc: kuba@...nel.org, edumazet@...gle.com, aspsk@...valent.com, m@...bda.lt,
netdev@...r.kernel.org, wireguard@...ts.zx2c4.com
Subject: Re: [PATCH net-next v2] wireguard: Wire-up big tcp support
Hi Jason,
On 10/7/24 6:42 PM, Jason A. Donenfeld wrote:
> On Fri, Oct 04, 2024 at 06:55:18PM +0200, Daniel Borkmann wrote:
>> Advertise GSO_MAX_SIZE as TSO max size in order support BIG TCP for wireguard.
>> This helps to improve wireguard performance a bit when enabled as it allows
>> wireguard to aggregate larger skbs in wg_packet_consume_data_done() via
>> napi_gro_receive(), but also allows the stack to build larger skbs on xmit
>> where the driver then segments them before encryption inside wg_xmit().
>
> Thanks, I'll queue this up. Do you have any perf numbers on the speedup,
> btw?
Awesome, thanks! Few weeks back we had an LPC session with some initial work
around wireguard performance (https://lpc.events/event/18/contributions/1968/)
including benchmarks. It depends on the specific scenario, but this as well as
an L2 GRO implementation (yet to come as patches in the next weeks) we got
~+15% for host-host in case of TCP STREAM. In case of Cilium I haven't done
the measurement yet, but I expect that there would be further gains as bigger
packets can traverse the stack and thus less processing in upper layers (e.g.
our tcx BPF code).
Thanks,
Daniel
Powered by blists - more mailing lists