[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] libxl: Disable relocating memory for qemu-xen in stubdomain too



On 2023-12-27 03:12, Marek Marczykowski-Górecki wrote:
> According to comments (and experiments) qemu-xen cannot handle memory
> reolcation done by hvmloader. The code was already disabled when running
> qemu-xen in dom0 (see libxl__spawn_local_dm()), but it was missed when
> adding qemu-xen support to stubdomain. Adjust libxl__spawn_stub_dm() to
> be consistent in this regard.
> 
> Reported-by: Neowutran <xen@xxxxxxxxxxxxx>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
> ---
>  tools/libs/light/libxl_dm.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
> index 14b593110f7c..ed620a9d8e14 100644
> --- a/tools/libs/light/libxl_dm.c
> +++ b/tools/libs/light/libxl_dm.c
> @@ -2432,6 +2432,16 @@ void libxl__spawn_stub_dm(libxl__egc *egc, 
> libxl__stub_dm_spawn_state *sdss)
>                          "%s",
>                          
> libxl_bios_type_to_string(guest_config->b_info.u.hvm.bios));
>      }
> +    /* Disable relocating memory to make the MMIO hole larger
> +     * unless we're running qemu-traditional and vNUMA is not
> +     * configured. */
> +    libxl__xs_printf(gc, XBT_NULL,
> +                     libxl__sprintf(gc, "%s/hvmloader/allow-memory-relocate",
> +                                    libxl__xs_get_dompath(gc, guest_domid)),
> +                     "%d",
> +                     guest_config->b_info.device_model_version
> +                        == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL &&
> +                     !libxl__vnuma_configured(&guest_config->b_info));
>      ret = xc_domain_set_target(ctx->xch, dm_domid, guest_domid);
>      if (ret<0) {
>          LOGED(ERROR, guest_domid, "setting target domain %d -> %d",
> -- 
> 2.41.0

Seems to work as expected

Thanks, 
Neowutran




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.