[LEDE-DEV] [PATCH] kernel: Backport net struct reduction from 4.16.

Mathias Kresin dev at kresin.me
Fri Mar 23 14:53:35 PDT 2018


23.03.2018 19:19, Rosen Penev:
> This patch series shrinks the networking structs in order to reduce cache misses. This has performance benefits in routing.
> 
> Full details here: https://www.netdevconf.org/2.2/slides/miller-datastructurebloat-keynote.pdf
> 
> I'm keeping this for kernel 4.14 as it's easier to port.
> 
> I have tested this on mvebu for several days with no issues to report. mvebu is powerful enough for gigabit routing though.

I gave it a try on lantiq, as I benchmarked the flow offloading impact 
anyway.

Doing my usual iperf3 test, I wasn't able to notice any improvement with 
the patches applied. The differences are rather within the measuring 
tolerance:

=HEAD=

net to client	95.2 Mbits/sec routing
client to net	109 Mbits/sec  routing

net to client	85.6 Mbits/sec NAT
client to net	96.2 Mbits/sec NAT


=k4.16 net struct reduction=

net to client	92.4 Mbits/sec routing
client to net	107 Mbits/sec  routing

net to client	83.7 Mbits/sec NAT
client to net	93.4 Mbits/sec NAT


=FLOW_OFFLOADING=

net to client	129 Mbits/sec routing
client to net	144 Mbits/sec routing

net to client	124 Mbits/sec NAT
client to net	144 Mbits/sec NAT


=FLOW_OFFLOADING + k4.16 net struct reduction=

net to client	130 Mbits/sec routing
client to net	140 Mbits/sec routing

net to client	126 Mbits/sec NAT
client to net	140 Mbits/sec NAT


As long as nobody proves that there is a real performance gain, I don't 
see a reason to backport the datastruct debloat.

Mathias



More information about the Lede-dev mailing list