[PATCH net-next 0/4] gro: micro-optimize dev_gro_receive()

From: Alexander Lobakin
Date: Fri Mar 12 2021 - 11:22:52 EST


This random series addresses some of suboptimal paths used in
the main GRO entry point.
The main body is patches 3-4 which simplify the code and improve
flow distribution. Two others are mostly cosmetic to make code
more readable.

The benetifs are not so huge and mostly depend on NIC RSS hash
function and a number of Rx flows per single NAPI instance. I got
something like +10-15 Mbps on 4-8 flows NATing.

Alexander Lobakin (4):
gro: give 'hash' variable in dev_gro_receive() a less confusing name
gro: don't dereference napi->gro_hash[x] multiple times in
dev_gro_receive()
gro: simplify gro_list_prepare()
gro: improve flow distribution across GRO buckets in dev_gro_receive()

net/core/dev.c | 31 ++++++++++++++-----------------
1 file changed, 14 insertions(+), 17 deletions(-)

--
2.30.2