From: Vlad Yasevich <vyasevic@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
Matthew Rosato <mjrosato@linux.vnet.ibm.com>,
Jason Wang <jasowang@redhat.com>
Subject: Re: Performance regression 3.11 with macvlan between 2 linux guests (bisected)
Date: Wed, 21 Aug 2013 14:12:06 -0400 [thread overview]
Message-ID: <521502F6.5030005@redhat.com> (raw)
In-Reply-To: <52150145.7020801@redhat.com>
On 08/21/2013 02:04 PM, Vlad Yasevich wrote:
> On 08/21/2013 08:38 AM, Christian Borntraeger wrote:
>> Vlad,
>>
>> the patch
>>
>> commit 3e4f8b787370978733ca6cae452720a4f0c296b8
>> Author: Vlad Yasevich <vyasevic@redhat.com>
>> Date: Tue Jun 25 16:04:22 2013 -0400
>>
>> macvtap: Perform GSO on forwarding path.
>>
>> causes a severe performance regression for 2 Linux guests with virtio-net
>> connected via macvlan/vtap doing iperf workload. (2GBit vs. 20Gbit)
>>
>> If I understand the patch correctly, we now check for gso depending on
>> the
>> macvlan features. If the underlying hardware does not support the
>> necessary
>> offloads then we will do segmentation, even if we keep the whole
>> traffic internal
>> between two guests and even if both guests supports LRO,GSO etc.
>> ---snip---
>> [...]
>> + features = netif_skb_features(skb) & vlan->tap_features;
>> + if (netif_needs_gso(skb, features)) {
>> + struct sk_buff *segs = __skb_gso_segment(skb,
>> features, false);
>> [...]
>>
>> ---snip---
>> Shouldnt we take the features of the target device or even better do
>> the gsoing in the
>> target device driver?
>
> A corrected patch has been sent upstream. We take into consideration
> the features on the target device that the user/vm has specified.
> If the VM has enabled the TSO flags, then nothing will happen to the
> GSO packet. However, if the TSO flag is off, segmentation will be
> performed.
Particularly. This commit should fix the issue:
commit a567dd6252263c8147b7269df5d03d9e31463e11
macvtap: simplify usage of tap_features
-vlad
>
> -vlad
>
>>
>> Christian
>>
>> FYI, the underlying HW has:
>>
>> Features for eth0:
>> rx-checksumming: off [fixed]
>> tx-checksumming: off
>> tx-checksum-ipv4: off [fixed]
>> tx-checksum-ip-generic: off [fixed]
>> tx-checksum-ipv6: off [fixed]
>> tx-checksum-fcoe-crc: off [fixed]
>> tx-checksum-sctp: off [fixed]
>> scatter-gather: off
>> tx-scatter-gather: off [fixed]
>> tx-scatter-gather-fraglist: off [fixed]
>> tcp-segmentation-offload: off
>> tx-tcp-segmentation: off [fixed]
>> tx-tcp-ecn-segmentation: off [fixed]
>> tx-tcp6-segmentation: off [fixed]
>> udp-fragmentation-offload: off [fixed]
>> generic-segmentation-offload: off [requested on]
>> generic-receive-offload: on
>> large-receive-offload: off [fixed]
>> rx-vlan-offload: off [fixed]
>> tx-vlan-offload: off [fixed]
>> ntuple-filters: off [fixed]
>> receive-hashing: off [fixed]
>> highdma: off [fixed]
>> rx-vlan-filter: on [fixed]
>> vlan-challenged: off [fixed]
>> tx-lockless: off [fixed]
>> netns-local: off [fixed]
>> tx-gso-robust: off [fixed]
>> tx-fcoe-segmentation: off [fixed]
>> tx-gre-segmentation: off [fixed]
>> tx-udp_tnl-segmentation: off [fixed]
>> tx-mpls-segmentation: off [fixed]
>> fcoe-mtu: off [fixed]
>> tx-nocache-copy: off
>> loopback: off [fixed]
>> rx-fcs: off [fixed]
>> rx-all: off [fixed]
>> tx-vlan-stag-hw-insert: off [fixed]
>> rx-vlan-stag-hw-parse: off [fixed]
>> rx-vlan-stag-filter: off [fixed]
>>
>
next prev parent reply other threads:[~2013-08-21 18:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-21 12:38 Performance regression 3.11 with macvlan between 2 linux guests (bisected) Christian Borntraeger
2013-08-21 18:04 ` Vlad Yasevich
2013-08-21 18:12 ` Vlad Yasevich [this message]
2013-08-22 8:23 ` Christian Borntraeger
2013-08-22 8:29 ` 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=521502F6.5030005@redhat.com \
--to=vyasevic@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=davem@davemloft.net \
--cc=jasowang@redhat.com \
--cc=mjrosato@linux.vnet.ibm.com \
--cc=mst@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.