On 01/04/11 - 10:41:07AM, Jim Fehlig wrote:
I'm looking into a bug where a libvirt-created xen HVM guest
boots
*very* slowly on an EPT-enabled machine, particularly when the guest has
a dedicated PCI device.
xen-unstable c/s 16931 [1] introduced a per-guest HAP (hardware assisted
paging) setting. Unfortunately, the sane default of hap=1 is done by xm
client tool instead of xend, so an HVM guest created with xm tool
(hap=1) boots as expected but takes much longer when created through
libvirt (hap=0).
Should libvirt expose this feature in domain XML? Should it be possible
to enable/disable hardware assisted paging on a per-guest level with
libvirt? If so, where does such a setting belong? It seems analogous
to enabling/disabling PAE and as such belongs under hypervisor
features. On IRC, Eric suggested it might fall under memoryBacking like
huge page support in KVM.
If folks feel this setting should not be exposed, it could be
unconditionally set in the xen driver for HVM guests, similar to the way
usb setting is currently handled (see attached patch). Note that the
xen domain builder will ignore this setting on hardware without the feature.
My personal feeling is that this is something we should expose. It is useful
for testing sometimes, so I think that we could expose it under the hypervisor
features with apic, acpi, etc like you suggest.
However, I would caution you to beware adding the hap flag unconditionally.
Especially on older Xen distributions (I'm thinking something like RHEL-5),
sending a hap value that xend does not understand may cause domain creation to
fail.
--
Chris Lalancette