Thread (9 messages) 9 messages, 4 authors, 2019-08-12

RE: [PATCH v3 net-next 0/3] net: batched receive in GRO path

From: Ioana Ciocoi Radulescu <hidden>
Date: 2019-08-09 17:14:57

-----Original Message-----
From: netdev-owner@vger.kernel.org <redacted> On
Behalf Of Edward Cree
Sent: Tuesday, August 6, 2019 4:52 PM
To: David Miller <davem@davemloft.net>
Cc: netdev <redacted>; Eric Dumazet
[off-list ref]; linux-net-drivers@solarflare.com
Subject: [PATCH v3 net-next 0/3] net: batched receive in GRO path

This series listifies part of GRO processing, in a manner which allows those
 packets which are not GROed (i.e. for which dev_gro_receive returns
 GRO_NORMAL) to be passed on to the listified regular receive path.
dev_gro_receive() itself is not listified, nor the per-protocol GRO
 callback, since GRO's need to hold packets on lists under napi->gro_hash
 makes keeping the packets on other lists awkward, and since the GRO control
 block state of held skbs can refer only to one 'new' skb at a time.
Instead, when napi_frags_finish() handles a GRO_NORMAL result, stash the skb
 onto a list in the napi struct, which is received at the end of the napi
 poll or when its length exceeds the (new) sysctl net.core.gro_normal_batch.
Hi Edward,

I'm probably missing a lot of context here, but is there a reason
this change targets only the napi_gro_frags() path and not the
napi_gro_receive() one?

I'm trying to understand what drivers that don't call napi_gro_frags()
should do in order to benefit from this batching feature.

Thanks,
Ioana
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help