receive: use gro call instead of plain call

Lonnie Abelbeck lists at lonnie.abelbeck.com
Fri Jul 13 15:49:45 CEST 2018


For certain lower-end x86 boxes I test, I noticed WG 0.0.20180708 w/NAPI actually slowed down receive performance.

Jason recently added "receive: use gro call instead of plain call" [1] commit, which made a big performance improvement.

Here is a test on a PC Engines APU2 ...

pbx4: AMD GX-412TC SOC (1 GHz, 4-core)
      Ethernet controller: Intel Corporation I210

pbx:  Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz
      Ethernet controller: Intel Corporation I211

# uname -a
Linux pbx4 3.16.57-astlinux #1 SMP PREEMPT Mon Jul 9 17:25:31 CDT 2018 x86_64 GNU/Linux

pbx ~ # iperf3 -s

pbx4 ~ # iperf3 -c 10.4.0.10 -P2 -R
-- 0.0.20180625 --
[SUM]   0.00-10.04  sec   466 MBytes   390 Mbits/sec  162             sender
[SUM]   0.00-10.00  sec   463 MBytes   389 Mbits/sec                  receiver
-- 0.0.20180708 --
[SUM]   0.00-10.04  sec   301 MBytes   252 Mbits/sec   30             sender
[SUM]   0.00-10.00  sec   300 MBytes   251 Mbits/sec                  receiver
-- 0.0.20180708 w/napi_gro_receive patch --
[SUM]   0.00-10.04  sec   596 MBytes   498 Mbits/sec   92             sender
[SUM]   0.00-10.00  sec   594 MBytes   498 Mbits/sec                  receiver
--

Kudos Jason !

Lonnie

[1] https://git.zx2c4.com/WireGuard/commit/?id=95951af7249912a4356b9a03cf3addc7e3f8f724


More information about the WireGuard mailing list