[PATCH] libxl: enable Xen's e820_host setting
jfehlig at suse.com
Thu Apr 9 20:52:30 UTC 2020
On 4/9/20 7:14 AM, Daniel P. Berrangé wrote:
> On Wed, Apr 08, 2020 at 02:29:16PM -0600, Jim Fehlig wrote:
>> Hotplugging PCI devices to Xen PV guests is only possible if the
>> libxl_domain_build_info struct has the e820_host field enabled when the
>> guest is created. By default it is disabled but libxl will automatically
>> enable e820_host if the config contains one or more PCI devices, in which
>> case hotplugging additional PCI devices later works.
>> According to xl.cfg(5) man page it is safe to unconditionally enable the
>> PV-only e820_host setting. Furthermore xen.git commits 414979ba85 and
>> f92337d949, which introduce the setting with a default of disabled, claim
>> the setting can be enabled or even removed "once the auto-ballooning of
>> guests with PCI devices works". Those commits are from May 2011 so I
>> think it is safe to say the issues have been resolved in the meantime.
>> Regardless, we should avoid exposing a Xen setting in libvirt that could
>> be removed later.
> Does this have any implications for live migration compatibility if you
> silently enable this for all guests ?
Oh, right. Thanks for the reminder! I'll have to check but I suspect it will.
> In QEMU/KVM if you did this, it would be considered an ABI change and
> could break live migration of a guest launched on old libvirt, to a
> host running new libvirt.
Nod. Do you have any suggestions on how to model this setting in libvirt? I
proposed adding a hypervisor feature for Xen in this thread
rational being that for PV guests the hypervisor serves as the BIOS and provides
the facility to report the memory map to the OS. I couldn't really think of a
good fit for it within the <os> element and its children.
More information about the libvir-list