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] [PATCH]fix relocation buffer size

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH]fix relocation buffer size
From: Zhigang Wang <zhigang.x.wang@xxxxxxxxxx>
Date: Thu, 30 Apr 2009 14:19:26 +0800
Delivery-date: Wed, 29 Apr 2009 23:20:03 -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
User-agent: Thunderbird 2.0.0.21 (X11/20090302)
hi,

this patch adjust the relocation buffer size, it can greatly improve the
ssl relocation performance (to about 1/3 compared with buffersize = 1024).

here are some test results, see attachment result.txt.

Signed-off-by: Zhigang Wang <zhigang.x.wang@xxxxxxxxxx>

thanks,

zhigang



Migration time test

Conclusion:

 Buffer size 16K is the best choice

=====================================================================================

host2:

# ethtool peth0
Settings for peth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

# ethtool -i peth0
driver: bnx2
version: 1.7.6b
firmware-version: 4.4.1 UMP 1.1.9
bus-info: 0000:03:00.0

=====================================================================================

host1:

# ethtool peth0
Settings for peth0:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 2
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

# ethtool -i peth0
driver: forcedeth
version: 0.56
firmware-version: 
bus-info: 0000:00:08.0

=====================================================================================

BUFFER_SIZE = 1024

source: host2, target: host1, memory: 4000, ssl: False

real    0m44.047s
user    0m0.064s
sys     0m0.008s

source: host1, target: host2, memory: 4000, ssl: False

real    0m37.843s
user    0m0.092s
sys     0m0.012s

source: host2, target: host1, memory: 4000, ssl: False

real    0m47.069s
user    0m0.068s
sys     0m0.004s

source: host1, target: host2, memory: 4000, ssl: False

real    0m37.640s
user    0m0.092s
sys     0m0.008s

source: host2, target: host1, memory: 4000, ssl: False

real    0m47.524s
user    0m0.056s
sys     0m0.012s

source: host1, target: host2, memory: 4000, ssl: False

real    0m37.637s
user    0m0.088s
sys     0m0.020s

=====================================================================================

BUFFER_SIZE = 1024

source: host2, target: host1, memory: 4000, ssl: True

real    4m30.996s
user    0m0.064s
sys     0m0.008s

source: host1, target: host2, memory: 4000, ssl: True

real    4m4.462s
user    0m0.076s
sys     0m0.028s

source: host2, target: host1, memory: 4000, ssl: True

real    4m30.383s
user    0m0.060s
sys     0m0.016s

source: host1, target: host2, memory: 4000, ssl: True

real    4m5.903s
user    0m0.076s
sys     0m0.028s

=====================================================================================

BUFFER_SIZE = 32 * 1024

source: host1, target: host2, memory: 4000, ssl: True

real    1m47.328s
user    0m0.092s
sys     0m0.016s

source: host2, target: host1, memory: 4000, ssl: True

real    1m56.843s
user    0m0.072s
sys     0m0.000s

source: host1, target: host2, memory: 4000, ssl: True

real    1m46.075s
user    0m0.088s
sys     0m0.016s

source: host2, target: host1, memory: 4000, ssl: True

real    1m58.902s
user    0m0.056s
sys     0m0.012s

=====================================================================================

BUFFER_SIZE = 32 * 1024

source: host1, target: host2, memory: 4000, ssl: False

real    0m37.698s
user    0m0.084s
sys     0m0.016s

source: host2, target: host1, memory: 4000, ssl: False

real    0m44.483s
user    0m0.064s
sys     0m0.004s

=====================================================================================

BUFFER_SIZE = 64 * 1024

source: host1, target: host2, memory: 4000, ssl: True

real    1m46.347s
user    0m0.088s
sys     0m0.016s

source: host2, target: host1, memory: 4000, ssl: True

real    1m48.066s
user    0m0.064s
sys     0m0.008s

=====================================================================================

BUFFER_SIZE = 1024 * 1024

source: host1, target: host2, memory: 4000, ssl: True

real    4m48.754s
user    0m0.084s
sys     0m0.024s

source: host2, target: host1, memory: 4000, ssl: True

real    2m51.459s
user    0m0.060s
sys     0m0.012s

=====================================================================================

BUFFER_SIZE = 16 * 1024

source: host1, target: host2, memory: 4000, ssl: True

real    1m44.170s
user    0m0.084s
sys     0m0.020s

source: host2, target: host1, memory: 4000, ssl: True

real    1m59.538s
user    0m0.072s
sys     0m0.004s

=====================================================================================

BUFFER_SIZE = 8 * 1024

source: host1, target: host2, memory: 4000, ssl: True

real    2m0.496s
user    0m0.092s
sys     0m0.016s

source: host2, target: host1, memory: 4000, ssl: True

real    2m18.153s
user    0m0.068s
sys     0m0.012s

=====================================================================================

--- xen-unstable/tools/python/xen/web/connection.py.orig        2009-04-16 
08:11:54.000000000 +0800
+++ xen-unstable/tools/python/xen/web/connection.py     2009-04-16 
08:12:18.000000000 +0800
@@ -37,7 +37,7 @@
 for TCP and unix-domain sockets (see tcp.py and unix.py).
 """
 
-BUFFER_SIZE = 1024
+BUFFER_SIZE = 16384
 BACKLOG = 5
 
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH]fix relocation buffer size, Zhigang Wang <=