net: Convert NAPI gro list into a small hash table.
Improve the performance of GRO receive by splitting flows into multiple hash chains. Suggested-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d4546c2509
commit
07d78363dc
@@ -305,6 +305,7 @@ int __init netdev_boot_setup(char *str);
|
||||
/*
|
||||
* Structure for NAPI scheduling similar to tasklet but with weighting
|
||||
*/
|
||||
#define GRO_HASH_BUCKETS 8
|
||||
struct napi_struct {
|
||||
/* The poll_list must only be managed by the entity which
|
||||
* changes the state of the NAPI_STATE_SCHED bit. This means
|
||||
@@ -322,7 +323,7 @@ struct napi_struct {
|
||||
int poll_owner;
|
||||
#endif
|
||||
struct net_device *dev;
|
||||
struct list_head gro_list;
|
||||
struct list_head gro_hash[GRO_HASH_BUCKETS];
|
||||
struct sk_buff *skb;
|
||||
struct hrtimer timer;
|
||||
struct list_head dev_list;
|
||||
|
Reference in New Issue
Block a user