Hi,
On 09/07/2012 01:47 PM, Hans de Goede wrote:
Hi Gerd,
I'm very happy to present to you a pull-request for usb-redir
live-migration support. I've tested this combined with Spice
seamless migration, and it can successful:
1) migrate a vm while running "dd if=/dev/zero of=/dev/sdb1 bs=32K"
inside the guest with sdb being a redirect USB-2 mass storage device.
2) migrate a vm while running camorama inside the vm showing a 720p
video from a redirected USB-2 webcam at 30 fps!
Note this is based on usb-next rather then master / usb.62,
since one of my patches would otherwise conflict with your recent
ehci changes.
The following changes since commit a44fd2e0c66b2276f586948702e5ebc7136fdb73:
usb-host: allow emulated (non-async) control requests without USBPacket
(2012-09-06 12:03:41 +0200)
are available in the git repository at:
git://people.freedesktop.org/~jwrdegoede/qemu usb-for-gerd
for you to fetch changes up to 5f5f0f1eaa29ec1cb07fc906acf917d5648b3bcf:
usb-redir: Add chardev open / close debug logging (2012-09-07 13:44:49 +0200)
----------------------------------------------------------------
Hans de Goede (9):
ehci: Don't set seen to 0 when removing unseen queue-heads
ehci: Walk async schedule before and after migration
ehci: Don't process too much frames in 1 timer tick
usb: Migrate over device speed and speedmask
Hmm, thinking more about this, this one is only necessary for usb-redir, since
for normal devices both get set from the descriptors of the device + the
port speedmask, which are const from a migration pov, so no need to migrate
them.
And usb-redir itself can re-construct them in its post_load function since it
migrates over the usb-redir device_info struct already.
So let me respin this patch set, dropping the above patch...
usb-redir: Change cancelled packet code into a generic packet-id queue
usb-redir: Add an already_in_flight packet-id queue
usb-redir: Store max_packet_size in endp_data
usb-redir: Add support for migration
and instead set speed and speedmask from this patch.
usb-redir: Add chardev open / close debug logging
hw/usb.h | 4 +-
hw/usb/bus.c | 2 +
hw/usb/hcd-ehci.c | 61 ++++++-
hw/usb/redirect.c | 482 ++++++++++++++++++++++++++++++++++++++++++++++++++----
4 files changed, 508 insertions(+), 41 deletions(-)
Regards,
Hans