[Spice-devel] [PATCH v4 00/16] Make start and stop usb redirection asynchronous

Dmitry Fleytman dmitry at daynix.com
Tue Sep 8 10:42:00 PDT 2015


Hi spice-devel,

Any news about this?

Thanks,
Dmitry

> On Aug 16, 2015, at 15:35 PM, Dmitry Fleytman <dmitry at daynix.com> wrote:
> 
> From: Dmitry Fleytman <dfleytma at redhat.com>
> 
> v4 changeset:
> changes as suggested by Christophe
> minor patch set reordering and beautifications
> 
> v3 changeset:
> remove spice_g_udev_handle_device_change api
> cosmetic changes
> set redirection state at usbdevice manager level
> remove set_redirecton and set_sensitive_all
> check for redirection state at check_can_redirect
> expose mutex to guard all critical sections
> 
> v2 changeset:
> fix trailing whitespace
> fix linux build with usb redirection
> fix linux build without ussb redirection
> set redirecting state as gobject property
> separate commit for widget manipulations
> commit messages fixes
> 
> This patchs series makes start/stop USB redirection flows run in their own threads.
> It solves spice-gtk freeze problems since start and stop redirection are time consuming operations.
> This series include new api exposure, threads syncronization and new usb redirection widget behavior.
> When redirection starts/ends widget will turn inactive/active.
> 
> Dmitry Fleytman (1):
>  UsbDeviceManager: Make synchronous disconnect method static
> 
> Kirill Moizik (15):
>  UsbDeviceManager: Fix Windows build without USB redirection
>  Usbredir channel: Introduce mutex for USB redirection
>  win-usb-dev: Track device redirection operations in progress
>  GUdevClient: Do not process USB hotplug events while redirection is in
>    progress
>  UsbDeviceManager: move existing code to a separate function
>  usbredir: Protect data accessed by asynchronous redirection flows
>  usbredir: Spawn a different thread for device redirection flow
>  UsbDevicemanager: Track device redirection operations in progress
>  UsbDeviceManager: Move more redirection specific logic under
>    corresponding ifdef
>  UsbDeviceManager: Implement asynchronous disconnect device flow
>  UsbDevicemanager: Track device disconnection operations in progress
>  usbredir: Disconnect USB device asynchronously
>  UsbDeviceWidget: Show info bar during redirection flows
>  UsbDeviceWidget: Consider asynchronous redirection flows
>  UsbDeviceWidget: Use asynchronous disconnect API
> 
> src/channel-usbredir-priv.h |   8 ++
> src/channel-usbredir.c      | 133 ++++++++++++++++++++----
> src/map-file                |   3 +-
> src/usb-device-manager.c    | 247 ++++++++++++++++++++++++++++++++++++--------
> src/usb-device-manager.h    |  13 ++-
> src/usb-device-widget.c     |  72 ++++++++-----
> src/win-usb-dev.c           |  78 ++++++++++++++
> 7 files changed, 463 insertions(+), 91 deletions(-)
> 
> -- 
> 2.4.3
> 



More information about the Spice-devel mailing list