[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] HVM Linux DomU with PV Drivers - Performance


  • To: xen-users <xen-users@xxxxxxxxxxxxxxxxxxx>
  • From: "Emre ERENOGLU" <erenoglu@xxxxxxxxx>
  • Date: Mon, 24 Mar 2008 02:35:22 +0100
  • Delivery-date: Sun, 23 Mar 2008 18:35:57 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:mime-version:content-type; b=ot6j+Ti3vGM7aT3A69rM6RL+oNNZB9UNpvAbZUHmRNg4DR9u13NzWsJ5lhvgJdG6tGdYFfPfTjg+t6UpR3QcGpT2dJ+vzbNOjUvUUw/BVDMz7n8KC4TCZzKXExcdAxZNlOIz/ez6jh54XXnuYnf9TE71n81ZtvXIzcdsVmQnO5M=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Hi Guys,

In order to compare James GPL PV drivers for Windows apple-to-apple to a counterpart, I decided to compile and install the "unmodified_drivers" from xen-unstable tree to my HVM DomU Linux guest.

My Dom0 is Ubuntu 7.10 , xen-3.2 with 2.6.18 Dom0 kernel.  DomU is Pardus 2007.3 with it's own 2.6.18-86 kernel (stock kernel)

The compiled and loaded drivers are xen-balloon.ko ,  xen-platform-pci.ko , xen-vbd.ko  and xen-vnif.ko from the Xen 3.2 unmodified_drivers folder.

After compiling, I've included them in the initramfs and using a special init script, I booted the system off a PV root disk. Boot partition is still ioemu.
voyager tmp # mount
/dev/xvda1 on / type ext3 (rw,errors=remount-ro)
/dev/hda1 on /boot type ext3 (rw)
/dev/xvda2 on /home type ext3 (rw,errors=remount-ro)
Here's the output of lsmod
voyager tmp # lsmod
Module                  Size  Used by
nls_utf8                2240  1
cifs                  212064  1
serio_raw               7012  0
joydev                  9472  0
usbhid                 45824  0
lp                     11364  0
tsdev                   7680  0
i2c_piix4               8332  0
i2c_core               19968  1 i2c_piix4
parport_pc             36804  1
parport                33896  2 lp,parport_pc
xen_vnif               30768  0
xen_balloon            15496  1 xen_vnif
xen_vbd                16496  2
uhci_hcd               21900  0
usbcore               116964  3 usbhid,uhci_hcd
xen_platform_pci       68632  3 xen_vnif,xen_balloon,xen_vbd,[permanent]
As seen, no physical NIC drivers are loaded.  Then it comes to the test. I use iperf for this purpose. Note that I was remotely connected to the DomU through XDMCP, so this may have some little impact even though there were no important screen updates.

Packet flow from Dom0 to HVM-DomU-w/PV-Drivers : 2.05 Gbits/sec
root@xenroot:~# iperf -c 192.168.1.7 -p 5002 -t 20
------------------------------------------------------------
Client connecting to 192.168.1.7, TCP port 5002
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.2 port 40777 connected with 192.168.1.7 port 5002
[  3]  0.0-20.0 sec  4.76 GBytes  2.05 Gbits/sec


Packet flow from HVM-DomU-w/PV-Drivers to Dom0:  3,3 Gbits/sec
voyager tmp # ./iperf -c 192.168.1.2
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.7 port 34685 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  3.84 GBytes  3.30 Gbits/sec


Packet flow from HVM-DomU-w/PV-Drivers to Dom0, when there's also a packet flow from Dom0 to DomU: 3,12 Gbits/sec
voyager tmp # ./iperf -c 192.168.1.2 -t 20
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.7 port 60230 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-20.0 sec  7.26 GBytes  3.12 Gbits/sec


Packet flow from Dom0 to HVM-DomU-w/PV-Drivers, when there's also a packet flow from DomU to Dom0: 62,9 Mbits/sec

root@xenroot:~# iperf -c 192.168.1.7 -p 5002 -t 30
------------------------------------------------------------
Client connecting to 192.168.1.7, TCP port 5002
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.2 port 54553 connected with 192.168.1.7 port 5002
[  3]  0.0-30.0 sec    225 MBytes  62.9 Mbits/sec


So in summary:
Dom0  --> DomU = 2.05 Gbits/sec
DomU  --> Dom0:  3,3 Gbits/sec
DomU  --> Dom0, simulatenous with Dom0  --> DomU: 3,12 Gbits/sec
Dom0  --> DomU, simultaneous with DomU --> Dom0: 62,9 Gbits/sec
Conclusion:
- PV Drivers in HVM Linux setup are really fast
- Dom0 to DomU traffic is severely impacted when there's heavy traffic from DomU to Dom0. (don't know why).

Hope this helps for tuning James' GPL PV Drivers for Windows.

Best regards,

Emre Erenoglu

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.