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

Re: [Xen-devel] [XEN PATCH for-4.13] libxl_pci: Don't hold QMP connection while waiting



On 31.10.19 13:17, Anthony PERARD wrote:
After sending the 'device_del' command for a PCI passthrough device,
we wait until QEMU has effectively deleted the device, this involves
executing more QMP commands. While waiting, libxl hold the connection.

It isn't necessary to hold the connection and it prevents others from
making progress, so this patch releases the QMP connection.

For background:
     e.g., when a guest is created with several pci passthrough
     attached, on `xl destroy` all the devices needs to be detach, and
     this is usually what happens:
        - 'device_del' called for the 1st pci device
        - 'query-pci' checking if pci still there, it is
        - wait 1s
        - 'query-pci' checking again, and it's gone
        -> now the same can be done for the second pci device, so
        plenty of waiting on others when pci detach can be done in
        parallel.

     On shutdown, libxl usually keeps waiting because QEMU never
     releases the device because the guest kernel never responds QEMU's
     unplug queries. So detaching of the 1st device waits until a
     timeout stops it, and since the same timeout is setup at the same
     time for the other devices to detach, the 'device_del' command is
     never sent for those.

Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>

Release-acked-by: Juergen Gross <jgross@xxxxxxxx>


Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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