RE: ipgre rss is broken since gro
From: Dmitry Kravkov <hidden>
Date: 2012-12-10 19:20:38
-----Original Message----- From: Eric Dumazet [mailto:eric.dumazet@gmail.com] Sent: Monday, December 10, 2012 6:55 PM To: Dmitry Kravkov Cc: Eric Dumazet; netdev@vger.kernel.org Subject: RE: ipgre rss is broken since gro On Mon, 2012-12-10 at 11:32 +0000, Dmitry Kravkov wrote: dropped:51610 so obviously one cpu is fully loaded.
Link partner continued pushing data overnight
quoted hunk ↗ jump to hunk
I believe performance problem might come from the skb_set_queue_mapping(skb, 0); in __skb_tunnel_rx() So all packets are queued into a single GRO queue, instead of being split as intended in multiple queues. I cant find why we must clear queue_mapping, so could you try :diff --git a/include/net/dst.h b/include/net/dst.h index 9a78810..4cb27df 100644 --- a/include/net/dst.h +++ b/include/net/dst.h@@ -329,7 +329,6 @@ static inline void __skb_tunnel_rx(struct sk_buff *skb,struct net_device *dev) */ if (!skb->l4_rxhash) skb->rxhash = 0; - skb_set_queue_mapping(skb, 0); skb_dst_drop(skb); nf_reset(skb); }
Yep, this resolved the issue - Interface is functional after 3 and 100 TCP connections. Thanks