usbredir slow when multi bulk packet per second

Bug #1811653 reported by feihu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

QEMU Ver: all version
Client: virt-viewer with spice
Guest VM: win7
Bug description:
  Use Qemu 2.1 or later with usbredir, When I redirect a bulk usb-device from virt-viewer client,the bulk-usb-device driver or app in GuestVM will send 50 bulk-urb per times.
  In VM, using the usblyzer to monitor the usb packet, it show these 50 bulk-urb packet (24576 bytes per urb) send in 1ms, But in the QEMU VM log, It shows as below
=========================
2019-01-14T08:27:26.096809Z qemu-kvm: usb-redir: bulk-out ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.105680Z qemu-kvm: usb-redir: bulk-in status 0 ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.108219Z qemu-kvm: usb-redir: bulk-out ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.116742Z qemu-kvm: usb-redir: bulk-in status 0 ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.119242Z qemu-kvm: usb-redir: bulk-out ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.129851Z qemu-kvm: usb-redir: bulk-in status 0 ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.132349Z qemu-kvm: usb-redir: bulk-out ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.141248Z qemu-kvm: usb-redir: bulk-in status 0 ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.144932Z qemu-kvm: usb-redir: bulk-out ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
2019-01-14T08:27:26.154035Z qemu-kvm: usb-redir: bulk-in status 0 ep 86 stream 0 len 49152 id 2114122112 0x7f0ffa300b40
=========================

 It shows that the bulk packet is single thread send and recv, per bulk packet will use 10-20ms, all 50 bulk-packets will use 500~1000ms, so the in the VM, bulk-urb will timeout always!

  How to send the bulk packet by multithread to speedup the bulk-urb send and recv, for example:
------------
 bulk-out ep 86 stream 0 len 49152 id xxxx1
 bulk-out ep 86 stream 0 len 49152 id xxxx2
 bulk-out ep 86 stream 0 len 49152 id xxxx3
 bulk-out ep 86 stream 0 len 49152 id xxxx4
 bulk-out ...
 bulk-out ep 86 stream 0 len 49152 id xxxx50
...
 bulk-in status 0 ep 86 stream 0 len 49152 id xxxx1
 bulk-in status 0 ep 86 stream 0 len 49152 id xxxx2
 bulk-in status 0 ep 86 stream 0 len 49152 id xxxx3
 bulk-in status 0 ep 86 stream 0 len 49152 id xxxx4
 bulk-in ...
 bulk-in status 0 ep 86 stream 0 len 49152 id xxxx50
------------

feihu (feihu929)
description: updated
feihu (feihu929)
description: updated
description: updated
feihu (feihu929)
description: updated
feihu (feihu929)
description: updated
Revision history for this message
Thomas Huth (th-huth) wrote :

The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting older bugs to "Incomplete" now.
If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Or mark it as "Fix Released" if the problem has been solved with a newer version of QEMU already. Thank you and sorry for the inconvenience.

Changed in qemu:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for QEMU because there has been no activity for 60 days.]

Changed in qemu:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.