[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <504C9EFCA2D0054393414C9CB605C37F1BFC32A1@SJEXCHMB06.corp.ad.broadcom.com>
Date: Mon, 10 Dec 2012 19:20:25 +0000
From: "Dmitry Kravkov" <dmitry@...adcom.com>
To: "Eric Dumazet" <eric.dumazet@...il.com>
cc: "Eric Dumazet" <edumazet@...gle.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: ipgre rss is broken since gro
> -----Original Message-----
> From: Eric Dumazet [mailto:eric.dumazet@...il.com]
> Sent: Monday, December 10, 2012 6:55 PM
> To: Dmitry Kravkov
> Cc: Eric Dumazet; netdev@...r.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
>
> 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
Powered by blists - more mailing lists