From: Eric Dumazet <eric.dumazet@gmail.com>
To: Dmitry Kravkov <dmitry@broadcom.com>
Cc: Eric Dumazet <edumazet@google.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: RE: ipgre rss is broken since gro
Date: Mon, 10 Dec 2012 08:54:31 -0800 [thread overview]
Message-ID: <1355158471.27891.44.camel@edumazet-glaptop> (raw)
In-Reply-To: <504C9EFCA2D0054393414C9CB605C37F1BFC104B@SJEXCHMB06.corp.ad.broadcom.com>
On Mon, 2012-12-10 at 11:32 +0000, Dmitry Kravkov wrote:
> CPU is not loaded at all
>
> > cat /proc/net/softnet_stat
> Please find attached.
>
> For gre interface RX and DROP statistics are advancing simultaneously (by one each ICMP request):
>
> [root@ ~]# ifconfig gre
> gre Link encap:UNSPEC HWaddr C0-A8-0A-40-73-72-83-D2-00-00-00-00-00-00-00-00
> inet addr:8.0.0.1 P-t-P:8.0.0.1 Mask:255.255.255.0
> inet6 addr: fe80::5efe:c0a8:a40/64 Scope:Link
> UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
> RX packets:1646824 errors:0 dropped:51610 overruns:0 frame:0
> TX packets:140519 errors:1 dropped:0 overruns:0 carrier:1
> collisions:0 txqueuelen:0
> RX bytes:2357650904 (2.1 GiB) TX bytes:7309072 (6.9 MiB)
dropped:51610 so obviously one cpu is fully loaded.
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);
}
next prev parent reply other threads:[~2012-12-10 16:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-08 22:35 ipgre rss is broken since gro Dmitry Kravkov
2012-12-08 23:31 ` Dmitry Kravkov
2012-12-09 2:01 ` Eric Dumazet
2012-12-09 2:04 ` Dmitry Kravkov
2012-12-09 20:49 ` Dmitry Kravkov
2012-12-09 23:27 ` Eric Dumazet
2012-12-10 11:32 ` Dmitry Kravkov
2012-12-10 15:17 ` Eric Dumazet
2012-12-10 16:54 ` Eric Dumazet [this message]
2012-12-10 19:02 ` David Miller
2012-12-10 19:20 ` Dmitry Kravkov
2012-12-10 21:55 ` Eric Dumazet
2012-12-10 22:32 ` [PATCH] net: fix a race in gro_cell_poll() Eric Dumazet
2012-12-10 22:46 ` Dmitry Kravkov
2012-12-11 17:50 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1355158471.27891.44.camel@edumazet-glaptop \
--to=eric.dumazet@gmail.com \
--cc=dmitry@broadcom.com \
--cc=edumazet@google.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox