Hi, I also tested the performance of the dom0 Linux using UnixBench 5.1.2. For Luvalley, the dom0 Linux means the first Linux that runs on top of Luvalley. The dom0 Linux is responsible of driving devices and running Qemu for more virtual machines. The platform is still: * Intel's Core Due CPU with 2 cores, 2GB RAM * CentOS 5.2 as the dom0 Linux, i.e., the host Linux for KVM The benchmark shows that, after being virtualized by Luvalley, the performance of Linux decreases to only a half of the native one. It is also a surprise to me. I had thought that the performance of the Linux running on top of Luvaley should be at least 80% of the native Linux. Currently, all page faults of dom0 Linux cause vmexits. However, these vmexits are unnecessary. I will try to eliminate them and test again. The Linux benchmark when running on top of Luvalley: ======================================================================== BYTE UNIX Benchmarks (Version 5.1.2) System: Yxd-Linux: GNU/Linux OS: GNU/Linux -- 2.6.18-92.el5 -- #1 SMP Tue Jun 10 18:49:47 EDT 2008 Machine: i686 (i386) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz (5322.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext CPU 1: Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz (5319.9 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext 10:13:06 up 13 min, 2 users, load average: 0.01, 0.28, 0.29; runlevel 5 ------------------------------------------------------------------------ Benchmark Run: 五 4月 17 2009 10:13:06 - 10:22:08 2 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 10964003.6 lps (10.0 s, 2 samples) Double-Precision Whetstone 2501.0 MWIPS (10.0 s, 2 samples) Execl Throughput 1262.5 lps (29.1 s, 1 samples) File Copy 1024 bufsize 2000 maxblocks 136493.0 KBps (30.0 s, 1 samples) File Copy 256 bufsize 500 maxblocks 35172.0 KBps (30.0 s, 1 samples) File Copy 4096 bufsize 8000 maxblocks 462014.0 KBps (30.0 s, 1 samples) Pipe Throughput 158474.5 lps (10.0 s, 2 samples) Pipe-based Context Switching 57442.5 lps (10.0 s, 2 samples) Process Creation 2215.5 lps (30.0 s, 1 samples) Shell Scripts (1 concurrent) 2652.2 lpm (60.0 s, 1 samples) Shell Scripts (8 concurrent) 602.1 lpm (60.1 s, 1 samples) System Call Overhead 741086.6 lps (10.0 s, 2 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 10964003.6 939.5 Double-Precision Whetstone 55.0 2501.0 454.7 Execl Throughput 43.0 1262.5 293.6 File Copy 1024 bufsize 2000 maxblocks 3960.0 136493.0 344.7 File Copy 256 bufsize 500 maxblocks 1655.0 35172.0 212.5 File Copy 4096 bufsize 8000 maxblocks 5800.0 462014.0 796.6 Pipe Throughput 12440.0 158474.5 127.4 Pipe-based Context Switching 4000.0 57442.5 143.6 Process Creation 126.0 2215.5 175.8 Shell Scripts (1 concurrent) 42.4 2652.2 625.5 Shell Scripts (8 concurrent) 6.0 602.1 1003.5 System Call Overhead 15000.0 741086.6 494.1 ======== System Benchmarks Index Score 373.2 ------------------------------------------------------------------------ Benchmark Run: 五 4月 17 2009 10:22:08 - 10:31:11 2 CPUs in system; running 2 parallel copies of tests Dhrystone 2 using register variables 21800140.9 lps (10.0 s, 2 samples) Double-Precision Whetstone 4748.4 MWIPS (10.1 s, 2 samples) Execl Throughput 2572.8 lps (29.0 s, 1 samples) File Copy 1024 bufsize 2000 maxblocks 196155.0 KBps (30.0 s, 1 samples) File Copy 256 bufsize 500 maxblocks 50331.0 KBps (30.0 s, 1 samples) File Copy 4096 bufsize 8000 maxblocks 739819.0 KBps (30.0 s, 1 samples) Pipe Throughput 314696.4 lps (10.0 s, 2 samples) Pipe-based Context Switching 121641.5 lps (10.0 s, 2 samples) Process Creation 6051.3 lps (30.0 s, 1 samples) Shell Scripts (1 concurrent) 4628.9 lpm (60.0 s, 1 samples) Shell Scripts (8 concurrent) 639.8 lpm (60.1 s, 1 samples) System Call Overhead 1446020.8 lps (10.0 s, 2 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 21800140.9 1868.0 Double-Precision Whetstone 55.0 4748.4 863.4 Execl Throughput 43.0 2572.8 598.3 File Copy 1024 bufsize 2000 maxblocks 3960.0 196155.0 495.3 File Copy 256 bufsize 500 maxblocks 1655.0 50331.0 304.1 File Copy 4096 bufsize 8000 maxblocks 5800.0 739819.0 1275.5 Pipe Throughput 12440.0 314696.4 253.0 Pipe-based Context Switching 4000.0 121641.5 304.1 Process Creation 126.0 6051.3 480.3 Shell Scripts (1 concurrent) 42.4 4628.9 1091.7 Shell Scripts (8 concurrent) 6.0 639.8 1066.4 System Call Overhead 15000.0 1446020.8 964.0 ======== System Benchmarks Index Score 666.5 The Linux benchmark when running directly: ======================================================================== BYTE UNIX Benchmarks (Version 5.1.2) System: Yxd-Linux: GNU/Linux OS: GNU/Linux -- 2.6.18-92.el5 -- #1 SMP Tue Jun 10 18:49:47 EDT 2008 Machine: i686 (i386) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz (5322.8 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, Intel virtualization CPU 1: Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz (5319.9 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, Intel virtualization 10:40:31 up 1 min, 2 users, load average: 0.66, 0.37, 0.14; runlevel 5 ------------------------------------------------------------------------ Benchmark Run: 五 4月 17 2009 10:40:31 - 10:49:28 2 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 10774539.6 lps (10.0 s, 2 samples) Double-Precision Whetstone 2354.4 MWIPS (10.1 s, 2 samples) Execl Throughput 3016.7 lps (29.8 s, 1 samples) File Copy 1024 bufsize 2000 maxblocks 353682.0 KBps (30.0 s, 1 samples) File Copy 256 bufsize 500 maxblocks 93716.0 KBps (30.0 s, 1 samples) File Copy 4096 bufsize 8000 maxblocks 961845.0 KBps (30.0 s, 1 samples) Pipe Throughput 509890.9 lps (10.0 s, 2 samples) Pipe-based Context Switching 180117.9 lps (10.0 s, 2 samples) Process Creation 9880.0 lps (30.0 s, 1 samples) Shell Scripts (1 concurrent) 5066.4 lpm (60.0 s, 1 samples) Shell Scripts (8 concurrent) 1437.8 lpm (60.0 s, 1 samples) System Call Overhead 756113.6 lps (10.0 s, 2 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 10774539.6 923.3 Double-Precision Whetstone 55.0 2354.4 428.1 Execl Throughput 43.0 3016.7 701.6 File Copy 1024 bufsize 2000 maxblocks 3960.0 353682.0 893.1 File Copy 256 bufsize 500 maxblocks 1655.0 93716.0 566.3 File Copy 4096 bufsize 8000 maxblocks 5800.0 961845.0 1658.4 Pipe Throughput 12440.0 509890.9 409.9 Pipe-based Context Switching 4000.0 180117.9 450.3 Process Creation 126.0 9880.0 784.1 Shell Scripts (1 concurrent) 42.4 5066.4 1194.9 Shell Scripts (8 concurrent) 6.0 1437.8 2396.3 System Call Overhead 15000.0 756113.6 504.1 ======== System Benchmarks Index Score 777.2 ------------------------------------------------------------------------ Benchmark Run: 五 4月 17 2009 10:49:28 - 10:58:28 2 CPUs in system; running 2 parallel copies of tests Dhrystone 2 using register variables 21949598.8 lps (10.0 s, 2 samples) Double-Precision Whetstone 4866.7 MWIPS (10.1 s, 2 samples) Execl Throughput 8040.3 lps (29.5 s, 1 samples) File Copy 1024 bufsize 2000 maxblocks 394264.0 KBps (30.0 s, 1 samples) File Copy 256 bufsize 500 maxblocks 101466.0 KBps (30.0 s, 1 samples) File Copy 4096 bufsize 8000 maxblocks 1307480.0 KBps (30.0 s, 1 samples) Pipe Throughput 1018531.7 lps (10.0 s, 2 samples) Pipe-based Context Switching 399822.2 lps (10.0 s, 2 samples) Process Creation 23748.0 lps (30.0 s, 1 samples) Shell Scripts (1 concurrent) 10082.3 lpm (60.0 s, 1 samples) Shell Scripts (8 concurrent) 1514.3 lpm (60.0 s, 1 samples) System Call Overhead 1470446.3 lps (10.0 s, 2 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 21949598.8 1880.9 Double-Precision Whetstone 55.0 4866.7 884.9 Execl Throughput 43.0 8040.3 1869.8 File Copy 1024 bufsize 2000 maxblocks 3960.0 394264.0 995.6 File Copy 256 bufsize 500 maxblocks 1655.0 101466.0 613.1 File Copy 4096 bufsize 8000 maxblocks 5800.0 1307480.0 2254.3 Pipe Throughput 12440.0 1018531.7 818.8 Pipe-based Context Switching 4000.0 399822.2 999.6 Process Creation 126.0 23748.0 1884.8 Shell Scripts (1 concurrent) 42.4 10082.3 2377.9 Shell Scripts (8 concurrent) 6.0 1514.3 2523.8 System Call Overhead 15000.0 1470446.3 980.3 ======== System Benchmarks Index Score 1356.6 Welcome to feedback. Regards, Xiaodong Yi 2009/4/16 Zhang, Xiantao <xiantao.zhang@xxxxxxxxx>: > How about performance comparision with kvm guests? > Xiantao > > -----Original Message----- > From: kvm-owner@xxxxxxxxxxxxxxx [mailto:kvm-owner@xxxxxxxxxxxxxxx] On Behalf Of Xiaodong Yi > Sent: Thursday, April 16, 2009 9:54 AM > To: kvm@xxxxxxxxxxxxxxx > Subject: Luvalley-2 has been released: running KVM below any operating system > > Luvalley is a Virtual Machine Monitor (VMM) spawned from the KVM > project. Its part of source codes are derived from KVM to virtualize > CPU instructions and memory management unit (MMU). However, its > overall architecture is completely different from KVM, but somewhat > like Xen. Luvalley runs outside of Linux, just like Xen's > architecture. Any operating system, including Linux, could be used as > Luvalley's scheduler, memory > manager, physical device driver provider and virtual IO device > emulator. Currently, Luvalley supports Linux and Windows. That is to > say, one may run Luvalley to boot a Linux or Windows, and then run > multiple virtualized operating systems on such Linux or Windows. > > If you are interested in Luvalley project, you may download the source > codes from > http://sourceforge.net/projects/luvalley/ > > This release (i.e., luvalley-2) updated Qemu in both Linux and > Windows. So the limitations of the previous release (i.e., luvalley-1) > have been partially eliminated. For example, the Qemu in Windows > allows to create disk images and install gueest operating systems. > > This release has 4 tarballs: > > * luvalley-2.tgz: this is the source codes of the kernel part of > Luvalley, which should be compiled in Linux. It is running below any > operating system to provide virtualization extension for Intel's > X86/32 computers. See the README file of the tarball for how to > compile and run Luvalley. > > * qemu-linux.tgz: this is the source codes of the modified Qemu for > running virtualized guest OSs in Linux. It is derived from Qemu of > KVM-83. See the README file of the tarball for how to compile and run. > > * qemu-windows.tgz: this is the source codes of the modified Qemu for > running virtualized guest OSs in Windows. It is derived from > Qemu-0.10.2. See the README file of the tarball for how to build and > run. > > * WindowsXP-Bins.rar: this is the pre-compiled binaries for running > in Windows XP. It should be uncompressed in Windows XP operating > system with WinRAR or other programs that supports .rar format. See > the README file of the package for how to install and run in Windows > XP. > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html