linux-il  

Re: Recommendations for XP under Linux

Shachar Shemesh
Mon, 10 Jul 2006 02:13:01 -0700

Muli Ben-Yehuda wrote:

On Tue, Jul 04, 2006 at 04:17:04PM +0300, Michael Ben-Nes wrote:

If you have Hardware virtualization like Intel vt-x you can use Xen.

And the performance overhead is from 0.3% to 5% ( it will kick vmware butt )

These numbers are for para-virtualized guests, not fully virtualized
guests (and are somewhat in dispute in any case). Compute performance
with VT is reasonable; IO performance with VT is horrible.

Cheers,
Muli
I'm not sure this is 100% accurate.

There are two parts to this equation (para vs. fully virtualized host).
One is the use of some impossible to easily virtualize CPU commands on normal pentium CPUs. The two workarounds are:
1. Tell the virtualized machine not to use them (para-virtualize)
2. Buy a CPU with extended virtualization support, which allows bypassing the above problem.

Actually, there is a third workaround, but I'm not sure what it is. This is what VMWare uses (at least in VMWare ESX, the hypervisor does that in order to run Windows on non-VT machines).

I highly doubt that there is any significant performance problem between the first two solutions. I can imagine that the third solution does have some performance degradation.

Then there is the IO issue. Again, there are two possible solutions:
1. Emulate the DMA, IO and interrupt behavior of a real SCSI/IDE device, and let the guest machine use the standard drivers. 2. Let the guest machine communicate directly with the host machine, using the direct IO performance.

Option 2 is, obviously, much better, performance wise.

VMWare, for example, does #1 intelligently. It can emulate both an IDE and a SCSI controller, and according to the guest OS you wish to install it will recommend the IDE controller if there are no easy drivers for the SCSI (say, if you install DOS or Windows 95), and the SCSI controller otherwise (if you install Windows XP or Linux 2.6). This allows it to provide better performance already.

It will also do #2, however. After the guest operating system is installed, it will recommend you install "VMWare Tools". This will install various drivers on the guest machine that communicate directly with the host, bypassing many of the performance bottlenecks. While it's true that this allows such strange things as having the guest OS change resolution every time you resize the host window (my current Windows 2000 resolution is 1016x631), having the mouse move fluently in and out of the guest window or being able to copy/paste between machines, what it REALLY allows is for low overhead IO.

My current SCSI driver on Windows 2000 is called "VMWare SCSI Controller".

Yes, I think that it's possible, with XEN, to write a Windows driver for performing direct IO, and performance should not suffer once someone does.

Shachar

--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]