qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1811653] [NEW] usbredir slow when multi bulk packet pe


From: feihu
Subject: [Qemu-devel] [Bug 1811653] [NEW] usbredir slow when multi bulk packet per second
Date: Mon, 14 Jan 2019 09:15:58 -0000

Public bug reported:

QEMU Ver: all version
Client: virt-viewer by 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-out ...
 bulk-in status 0 ep 86 stream 0 len 49152 id xxxx50
------------

** Affects: qemu
     Importance: Undecided
         Status: New

** Description changed:

  QEMU Ver: all version
  Client: virt-viewer by 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 send in 1ms, 
+   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 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
+  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:
+   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-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-out ...
-  bulk-in status 0 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-out ...
+  bulk-in status 0 ep 86 stream 0 len 49152 id xxxx50
  ------------

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1811653

Title:
  usbredir slow when multi bulk packet per second

Status in QEMU:
  New

Bug description:
  QEMU Ver: all version
  Client: virt-viewer by 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-out ...
   bulk-in status 0 ep 86 stream 0 len 49152 id xxxx50
  ------------

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1811653/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]