From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joseph Gasparakis Subject: Re: vxlan/veth performance issues on net.git + latest kernels Date: Wed, 4 Dec 2013 01:24:00 -0800 (PST) Message-ID: References: <529DF340.70602@mellanox.com> <1386084620.30495.28.camel@edumazet-glaptop2.roam.corp.google.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Joseph Gasparakis , Eric Dumazet , Jerry Chu , Or Gerlitz , Eric Dumazet , Alexei Starovoitov , Pravin B Shelar , David Miller , netdev To: Or Gerlitz Return-path: Received: from mga11.intel.com ([192.55.52.93]:32381 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754269Ab3LDJGe (ORCPT ); Wed, 4 Dec 2013 04:06:34 -0500 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Wed, 4 Dec 2013, Or Gerlitz wrote: > On Wed, Dec 4, 2013 at 2:35 AM, Joseph Gasparakis > wrote: > > > I was printing the gso_type in vxlan_xmit_skb(), right before > > iptunnel_xmit() gets called (I was focus UDPv4 encap only). Then I saw the > > gso_type was different when a VM was involved and when it was not > > (although I was transmitting exactly the same packet), and then I replaced > > my printk with something like skb_shinfo(skb)->gso_type = > for non-VM skb> and it all worked. > > > > Then I looked into what was different between the two gso_types and the > > only difference was that SKB_GSO_DODGY was set when Tx'ing from the VM. > > I am sure I could have been more delicate with the aproach, but hey, it > > worked for me. > > > > I would be curious to see if this is the same issue as mine. It seems like it is. > > nope! with the latest net tree, after handle_offloads is called in > vxlan_xmit_skb and before iptunnel_xmit is invoked, > skb_shinfo(skb)->gso_type is either 0 or 0x201 which is > (SKB_GSO_UDP_TUNNEL | SKB_GSO_TCPV4) and its the same value whether > the session runs over veth device or directly over the bridge, where > over veth and > 1 stream we see drops, bad perf, etc. > > I am very interested in the VM case too, so will check it out and let you know. > Ok, I was really hoping that would be the same... And just for the record, you are seeing (SKB_UDP_TUNNEL | SKB_GSO_TCPV4) as 0x201 while I was seeing it as 0x81 because commit 61c1db7fae "ipv6: sit: add GSO/TSO support" pushed the SKB_UDP_TUNNEL two bits left, and I had done my tests before it.