On 4/7/20 12:02 PM, Jim Fehlig wrote:
Hi All,
[...]
e820_host is a bit trickier. For this setting, which is PV-specific, the man page says:

  Selects whether to expose the host e820 (memory map) to the guest via the
  virtual e820. When this option is false (0) the guest pseudo-physical
  address space consists of a single contiguous RAM region. When this option
  is specified the virtual e820 instead reflects the host e820 and contains
  the same PCI holes. The total amount of RAM represented by the memory map
  is always the same, this option configures only how it is laid out.

  Exposing the host e820 to the guest gives the guest kernel the opportunity
  to set aside the required part of its pseudo-physical address space in order
  to provide address space to map passedthrough PCI devices. It is guest
  Operating System dependent whether this option is required, specifically it
  is required when using a mainline Linux ("pvops") kernel. This option
  defaults to true (1) if any PCI passthrough devices are configured and
  false (0) otherwise. If you do not configure any passthrough devices at
  domain creation time but expect to hotplug devices later then you should
  set this option. Conversely if your particular guest kernel does not
  require this behavior then it is safe to allow this to be enabled but
  you may wish to disable it anyway.

I'm tempted to unconditionally enable this setting. It is required for pvops kernels and apparently harmless for other PV kernels. I asked one of the Xen devs about any downsides to always enabling e820_host, to which he replied "Scattered memory blocks inside the guest, possibly leading to slightly higher overhead. But nothing really severe afaics.".

I dug a bit deeper to find the xen.git commits that introduced e820_host: 414979ba85 and f92337d949. The latter, from May 2011, claims the setting can be removed "once the auto-ballooning of guests with PCI devices works"

https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=f92337d9494efbab0918eb0e055d129fce5c3227

I think this is further evidence that we should unconditionally enable e820_host in libvirt and avoid exposing a Xen setting that might be removed in the future.

Regards,
Jim


Reply via email to