From mboxrd@z Thu Jan 1 00:00:00 1970 From: Erik Rull Subject: usb-linux.c - delay between USB URBs Date: Wed, 18 Mar 2009 22:41:44 +0100 Message-ID: <49C16A98.8040708@rdsoftware.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org Return-path: Received: from moutng.kundenserver.de ([212.227.126.186]:49192 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751472AbZCRVlq (ORCPT ); Wed, 18 Mar 2009 17:41:46 -0400 Sender: kvm-owner@vger.kernel.org List-ID: 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