* Anthony Liguori (aliguori@xxxxxxxxxx) wrote:
Chris Wright wrote:
Xen also provides support for running directly on native hardware.Can someone elaborate on this? Does this mean a Xen guest can run on bare metal?
Yes. See the Xen code for running the kernel in ring0 with Xen
(supervisor_mode_kenel). The hypercall_page is conditionally filled
with hypercall traps or direct calls basically.
Is there code available to make this work (it doesn't seem contained in this patchset)? Has any performance analysis been done?
I don't have any numbers.
The numbers that have been posted with the VMI patches suggest that some rather tricky stuff is required to achieve native performance when running a guest on bare metal. If this is not the case, it would be very interesting to know because it seems to be the hairiest part of the VMI patches.
It is a hairy part of VMI. They've done a nice job of handling the
native case, and have interseting plans for improving the non-native
case (inline where possible). One of the differences is things that
don't actually require hypercalls are already inline w/ Xen. So it's
conceivable that the performance hit is smaller than what VMI found
without carefully inlining native code.
Otherwise, if we want to support Xen guests on bare metal, it seems we would have to change things in the subarch code a bit to do something similar to VMI.
It's a different approach.
thanks,
-chris