FYI: [ANNOUNCE] Xvisor ARM better than KVM ARM in CPU virtualization

Skip to first unread message

Jim Huang

May 5, 2012, 5:53:04 AM5/5/12
to 0xlab-devel

---------- Forwarded message ----------
From: Anup Patel <>
Date: 2012/5/5
Subject: [xvisor-devel] [ANNOUNCE] Xvisor ARM better than KVM ARM in
CPU virtualization
To:,,, Xvisor Devel <>

This announcement is to show an apple to apple performance comparison between
Xvisor ARM and KVM ARM running on VExpress-A15 Fast Model. Both hypervisors
leverage the ARMv7a Virtualization Extensions for accelerated performance
in CPU virtualization, but both of them are fundamentally different from
each other.

Xvisor ARM is a complete monolithic hypervisor having one common software
for host hardware access, CPU virtualization, and guest IO emulation. The
KVM ARM hypervisor is somewhere in between monolithic and microkernelized
hypervisors. In KVM ARM the host  hardware access + CPU virtualization is
one piece of software (i.e. Linux+KVM driver) wherease guest IO emulation
is another piece of software (i.e. QEMU).

The binary size of Xvisor ARM for VExpress-A15 is 294 KB whereas that of
Linux KVM ARM is 2.1 MB. In addition to this Xvisor ARM for VExpress-A15
runs with a modest memory usage of 8 MB (most of which is still free even
when Linux guest is running).

To have an apple to apple comparison we did few test on Realview-PB-A8 guest
emulated by both these hypervisors, such as:
Test1: Time taken to boot linux kernel
Test2: Time taken to compute md5sum of a 1560 KB file
Test3: DMIPS obtained by running dhrystone

Native Linux for VExpress-A15
Test1: 15 secs (Boot Time)
Test2: 38 secs (md5sum on 1560 KB)
Test3: 153 DMIPS (or 270255 dhrystones per second)

Realview-PB-A8 Linux Guest on Xvisor ARM for VExpress-A15
Test1: 10 secs (Boot Time)
Test2: 40 secs (md5sum on 1560 KB)
Test3: 151 DMIPS (or 265486 dhrystones per second)

Realview-PB-A8 Linux Guest on KVM ARM for VExpress-A15
Test1: 30 secs (Boot Time)
Test2: 41 secs (md5sum on 1560 KB)
Test3: 141 DMIPS (or 247737 dhrystones per second)

(Note: we have used same linux images for running as guest on Xvisor ARM
and KVM ARM)

The above numbers clearly show that the monolithic nature of Xvisor ARM
gives it a great performance advantage over KVM ARM even though both use
hardware assisted CPU virtualization.

Xvisor ARM is able to boot multiple unmodified linux even without hardware
virtualization support but KVM ARM needs ARMv7a virtualization extensions.

On real hardware specifically BeagleBoard-xM (OMAP3 @ 600 MHz) we get near
native CPU performance without virtualization extensions (i.e. Native Linux
3.0.4 gives 1120 DMIPS whereas Linux 3.0.4 running as guest on Xvisor ARM
gives 960 DMIPS)
Reply all
Reply to author
0 new messages