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

[xen staging] libxl: Add suppress-vmdesc to QEMU machine



commit 0a5e0ce0fb7e5a3b5dfdc936058d2c0e04e5e258
Author:     Jason Andryuk <jandryuk@xxxxxxxxx>
AuthorDate: Thu Oct 29 15:03:32 2020 -0400
Commit:     Wei Liu <wl@xxxxxxx>
CommitDate: Fri Nov 6 16:20:36 2020 +0000

    libxl: Add suppress-vmdesc to QEMU machine
    
    The device model state saved by QMP xen-save-devices-state doesn't
    include the vmdesc json.  When restoring an HVM, xen-load-devices-state
    always triggers "Expected vmdescription section, but got 0".  This is
    not a problem when restore comes from a file.  However, when QEMU runs
    in a linux stubdom and comes over a console, EOF is not received.  This
    causes a delay restoring - though it does restore.
    
    Setting suppress-vmdesc skips looking for the vmdesc during restore and
    avoids the wait.
    
    QEMU 5.2 enables suppress-vmdesc by default for xenfv, but this change
    sets it manually for xenfv and xen_platform_pci=0 when -machine pc is
    use.
    
    QEMU commit 9850c6047b8b "migration: Allow to suppress vmdesc
    submission" added suppress-vmdesc in QEMU 2.3.
    
    Signed-off-by: Jason Andryuk <jandryuk@xxxxxxxxx>
    Acked-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
 tools/libs/light/libxl_dm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index d1ff35dda3..3da83259c0 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1778,9 +1778,9 @@ static int libxl__build_device_model_args_new(libxl__gc 
*gc,
             /* Switching here to the machine "pc" which does not add
              * the xen-platform device instead of the default "xenfv" machine.
              */
-            machinearg = libxl__strdup(gc, "pc,accel=xen");
+            machinearg = libxl__strdup(gc, "pc,accel=xen,suppress-vmdesc=on");
         } else {
-            machinearg = libxl__strdup(gc, "xenfv");
+            machinearg = libxl__strdup(gc, "xenfv,suppress-vmdesc=on");
         }
         if (b_info->u.hvm.mmio_hole_memkb) {
             uint64_t max_ram_below_4g = (1ULL << 32) -
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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