Re: [PATCH net-next-2.6] gro: __napi_gro_receive() optimizations
From: David Miller <davem@davemloft.net>
Date: 2010-08-25 20:57:12
From: David Miller <davem@davemloft.net>
Date: 2010-08-25 20:57:12
From: Eric Dumazet <redacted> Date: Wed, 25 Aug 2010 22:33:51 +0200
@@ -102,19 +102,9 @@ vlan_gro_common(struct napi_struct *napi, struct vlan_group *grp, if (vlan_dev) skb->dev = vlan_dev; else if (vlan_id) - goto drop; - - for (p = napi->gro_list; p; p = p->next) { - NAPI_GRO_CB(p)->same_flow = - p->dev == skb->dev && !compare_ether_header( - skb_mac_header(p), skb_gro_mac_header(skb)); - NAPI_GRO_CB(p)->flush = 0; - } - - return dev_gro_receive(napi, skb); + return GRO_DROP; -drop: - return GRO_DROP; + return __napi_gro_receive(napi, skb);
I was looking at this the other day and considering something similar but I didn't do it because this now makes the call chain deeper. And that can make a performance difference. I don't want to add this hunk unless some GRO perf regression tests are done. Thanks.