[WireGuard] [PATCH] Add support for platforms which has no efficient unaligned memory access
René van Dorst
opensource at vdorst.com
Sat Sep 10 14:50:25 CEST 2016
Here by my patch to support platforms which has no efficient unaligned
memory access.
Without it, it caused 55.2% slowdown in throughput at TP-Link
WR1043ND, MIPS32r2 at 400Mhz.
Benchmarks before:
root at lede:~# iperf3 -c 10.0.0.1 -i 10
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-10.13 sec 28.8 MBytes 23.8 Mbits/sec 0 202 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.13 sec 28.8 MBytes 23.8 Mbits/sec 0 sender
[ 4] 0.00-10.13 sec 28.8 MBytes 23.8 Mbits/sec receiver
root at lede:~# iperf3 -c 10.0.0.1 -i 10 -u -b 1G
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-10.00 sec 31.1 MBytes 26.1 Mbits/sec 3982
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter
Lost/Total Datagrams
[ 4] 0.00-10.00 sec 31.1 MBytes 26.1 Mbits/sec 0.049 ms 0/3982 (0%)
[ 4] Sent 3982 datagrams
Benchmarks with aligned memory fetching:
root at lede:~# iperf3 -c 10.0.0.1 -i 10
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-10.22 sec 52.5 MBytes 43.1 Mbits/sec 0 145 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.22 sec 52.5 MBytes 43.1 Mbits/sec 0 sender
[ 4] 0.00-10.22 sec 52.5 MBytes 43.1 Mbits/sec receiver
iperf Done.
root at lede:~# iperf3 -c 10.0.0.1 -i 10 -u -b 1G
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-10.00 sec 56.3 MBytes 47.2 Mbits/sec 7207
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter
Lost/Total Datagrams
[ 4] 0.00-10.00 sec 56.3 MBytes 47.2 Mbits/sec 0.041 ms 0/7207 (0%)
[ 4] Sent 7207 datagrams
Greats,
René van Dorst.
More information about the WireGuard
mailing list