From patchwork Fri Sep 7 19:38:13 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans de Goede X-Patchwork-Id: 182436 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 983372C0098 for ; Sat, 8 Sep 2012 05:37:21 +1000 (EST) Received: from localhost ([::1]:48243 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TA4Mh-0001Kc-O8 for incoming@patchwork.ozlabs.org; Fri, 07 Sep 2012 15:37:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34800) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TA4MX-0001KT-V9 for qemu-devel@nongnu.org; Fri, 07 Sep 2012 15:37:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TA4MT-0007Sa-Io for qemu-devel@nongnu.org; Fri, 07 Sep 2012 15:37:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:4179) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TA4MT-0007SW-AD for qemu-devel@nongnu.org; Fri, 07 Sep 2012 15:37:05 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q87Jb4Ps031713 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 7 Sep 2012 15:37:04 -0400 Received: from shalem.localdomain (vpn1-4-200.ams2.redhat.com [10.36.4.200]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q87Jb1AT006933 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Fri, 7 Sep 2012 15:37:03 -0400 Message-ID: <504A4D25.7080901@redhat.com> Date: Fri, 07 Sep 2012 21:38:13 +0200 From: Hans de Goede User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0 MIME-Version: 1.0 To: Gerd Hoffmann X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.132.183.28 Cc: "qemu-devel@nongnu.org" Subject: [Qemu-devel] [PULL for usb-next]: Add support for live-migration to usb-redir (v2) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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. Changes in v2: - As discussed drop the "usb: Migrate over device speed and speedmask" patch 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 6ef0b771704ca898a44c1f9ea41ab98590fc2e84: usb-redir: Add chardev open / close debug logging (2012-09-07 21:27:16 +0200) ---------------------------------------------------------------- Hans de Goede (8): 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-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 usb-redir: Add chardev open / close debug logging hw/usb/hcd-ehci.c | 61 ++++++- hw/usb/redirect.c | 500 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 522 insertions(+), 39 deletions(-) Thanks & Regards, Hans