WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] huge tcp performance-regression on pvops - kernel (+Solution

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] huge tcp performance-regression on pvops - kernel (+Solution)
From: Ronny.Hegewald@xxxxxxxxx
Date: Tue, 27 Oct 2009 00:37:25 +0100 (CET)
Delivery-date: Tue, 27 Oct 2009 07:37:33 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

Setup: pvops dom0 kernel 2.6.31.4 from Jeremys git-repository from 2009-10-18


Problem: Very slow network-performance (3-10 kbs) when tcp-packets are used (noticed when using scp, samba, nfs over tcp)


But this occurs only in the following situations:

   

1.) domU to domU on same PC (domUs are paravirtualized linux-kernels)

2.) domU to another PC that doesn't use pvops-kernel (packets sent from another PC to domU works fine)


domU to dom0 and the opposite way works without performance-regression.

Reason: bigger tcp-packets get dropped from the domU the tcp-packets are sent from (netstat -s in domU shows many retransmitted tcp-segments)


tcpdump shows that the bigger packets leave the vif from the domU they were sent from, but never arrive the vif from the domU they are sent to.


This is caused by this lines in drivers/xen/netback.c at line 1325 :


                if (skb->data_len < skb_shinfo(skb)->gso_size) {

                         skb_shinfo(skb)->gso_size = 0;
                         skb_shinfo(skb)->gso_type = 0;
                 }

These lines were reverted from the linux-2.6.18-xen mercurial repository


on 2009-01-13 in changeset 774: 107e10e0e07c: netfront/back: do not mark packets of length < MSS as GSO


I used the patch on the above mentioned pvops tree and the problem was gone.


I never noticed such problems on the 2.6.18-xen kernel or the forward-ported xen-kernel 2.6.31.4 (from Andrew Lyon)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>