On Thu, Apr 30, 2009 at 1:08 PM, Adam Wead <awead@xxxxxxxxxxx> wrote:
> Hi all,
> I'm preparing to deploy some Windows servers under Xen on Red Hat 5 and
> would like to maximize network performance. I've been looking over some
> previous posts and it looks like the present situation is this, and please
> do correct me if I'm wrong:
> - Windows guests get slower network performance than their Dom0's because of
> the fully-virtualized hardware (HVM)
- HVM isn't "fully-virtualized hardware", it's the hardware support
(on the CPU) for virtualization. before that was available, it was
possible to do fully virtualized hardware (qemu is an example); but it
was too slow. HVM lets you have a full set of priviledge rings in a
VM, making it far faster than software emulation.
- HVM is slower than PV, because the new context switches are slower
than usual context switches when crossing rings, and the software is
more complex, but it's not the biggest bottleneck that concerns you.
- out-of-the-box systems (usually windows) do run, thanks not only to
HVM, but also thanks to a modified qemu process running on Dom0, that
receives all the hardware access of an HVM DomU, and does all the
device emulation. this emulation is totally done in software, so it's
not as fast as one would wish.
- qemu emulated hardware is (on purpose) very generic and a little
old, usually IDE drives, and simple network cards. that makes it easy
to support a wide variety of systems, but also means that the drivers
used by the guest OS have to do a lot of bit-twiddling to make it
work. each of these small accesses means a full context switch,
- PV drivers help (a lot!) both because the corresponding Dom0
software is far simpler than emulating every detail of a hardware
card; but also because there are a lot less context switches per
transfer, and also it's easier to make a single hypercall manage a
bigger chunk of data than what old emulated chips can handle.
now, to your real question...
commercial PV drivers are somewhat expensive, and usually locked to
very specific Xen versions; but there's a version of Open Source
drivers, called "GPLPV drivers", thanks to James Harper, a common
contributor to this list. they're not perfect, but several users can
report that they work reliably and efficiently.
Xen-users mailing list