RE: usb-linux.c - delay between USB URBs

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

 



Erik,
Did you use uhci or ehci controller in qemu? If uhuci, then
Don’t know we are met the same issue or not. May you try the patch to see if it has some effect or not? We observe it has effect on native qemu side.

The patch is simple but experimental, you may try to modify the "count" number as you need to see a effect.

Thanks
Xiaohui

-----Original Message-----
From: kvm-owner@xxxxxxxxxxxxxxx [mailto:kvm-owner@xxxxxxxxxxxxxxx] On Behalf Of Erik Rull
Sent: 2009年3月19日 5:42
To: kvm@xxxxxxxxxxxxxxx
Subject: usb-linux.c - delay between USB URBs

Hello,

my problem is still the same - the USB key has only a transfer rate of ~ 2 
MB / min through the virtualization.

So I did some debugging in usb-linux.c - first I switched on debugging.
The debug output was way to much so I added a timestamp calculation between 
a) start and end of async transfer and b) end of one and start of the next 
block (each block is 64 bytes large).
The transfer rate of the driver itself is ~ 200kByte / sec - quite fine and 
much faster than the complete chain (only ~32kByte / sec).
The delay between one and the next packet is ~2msec (transfer of 2MByte 
from USB key to HDD measured)! that means, 64 bytes are transferred then a 
pause of nearly 2msec is placed and then the next 64 bytes are sent to the 
driver. This fits nearly exactly my measured transfer rate of 32kByte /sec 
(64 Bytes / 2msec => 32kByte / sec).

Where do the 2 msec come from? I have no real other processes running that 
could interfere here. In the Windows guest there is nothing else but the 
windows explorer and some other standard processes running.
Any Idea where to continue searching for these 2msecs??

Best regards,

Erik

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: usb.diff
Description: usb.diff


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux