Hi Dave, This series was written as a continuation to commit 323ebb61e32b ("net: use listified RX for handling GRO_NORMAL skbs"), and also takes an advantage of listified Rx for GRO. This time, however, we're targeting at a way more common and used function, napi_gro_receive().
There are about ~100 call sites of this function, including gro_cells and mac80211, so even wireless systems will benefit from it. The only driver that cares about the return value is ethernet/socionext/netsec, and only for updating statistics. I don't believe that this change can break its functionality, but anyway, we have plenty of time till next merge window to pay this change a proper attention. Besides having this functionality implemented for napi_gro_frags() users, the main reason is the solid performance boost that has been shown during tests on 1-core MIPS board (with not yet mainlined driver): * no batching (5.4-rc2): ~450/450 Mbit/s * with gro_normal_batch == 8: ~480/480 Mbit/s * with gro_normal_batch == 16: ~500/500 Mbit/s Applies on top of net-next. Thanks. Alexander Lobakin (2): net: core: use listified Rx for GRO_NORMAL in napi_gro_receive() net: core: increase the default size of GRO_NORMAL skb lists to flush net/core/dev.c | 51 +++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) -- 2.23.0