[Spice-devel] client memory issues with usbredir

Victor Toso lists at victortoso.com
Wed Sep 23 07:27:46 PDT 2015


Hey,

I was taking a look at rhbz#1264156 [1] which leads to a great amount
of memory being used in the client when sharing webcam with usbredir
when the connection is slow enough (not necessary slow but slower then
the webcam data flow).

Looks like there are other bugs about similar issue like rhbz#1201387
[2] with _being slow_ and high memory consumption in the client. I've
also hit fdo#90286 [3] during my local tests...

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1264156
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1201387
[3] https://bugs.freedesktop.org/show_bug.cgi?id=90286

Well, what I was planing to do in order to address the high memory
consumption is the following combination:

1-) Avoid sharing devices when connection is too slow.
    libusb has libusb_get_device_speed function which can possibility
return the operation speed of the device. By having the quality and
speed of the connection we could deny connecting devices that are
too fast.

2-) Limiting the queue size for usbredir
    the memory grows because the queue to send the data grows faster
then network's read. Even with (1) we could hit issues in the long
run. In this case, we could identify by the queue limit being reached.
The solution should be disabling the usbredirection of the device.

3-) Negotiate capabilities with device
    Not sure how much we can configure from spice-gtk to device
parameters but theoretically it should be possible to change resolution
and quality of the device, making less use of bandwidth.

That's the general idea to address those issues and after talking with
Pavel we agreed that would be good to send an email before diving into
it.

Any thoughts about this? Hints? Patches? :)

side-note:
I'm fairly convinced that channel-usbredir could trigger memory
issues in the server side as happened with channel-webdav in [4] and
[5] although I wasn't able to trigger it yet.

[4] https://bugs.freedesktop.org/show_bug.cgi?id=91350
[5] https://bugs.freedesktop.org/show_bug.cgi?id=91903

cheers,
  Victor Toso


More information about the Spice-devel mailing list