From mboxrd@z Thu Jan 1 00:00:00 1970 From: Noboru Iwamatsu Subject: Re: pvusb performance Date: Mon, 14 Sep 2009 14:45:11 +0900 Message-ID: <4AADD867.1090809@jp.fujitsu.com> References: <4AAD9470.9060701@jp.fujitsu.com> <4AADAC39.5090106@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: james.harper@bendigoit.com.au, xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org James, > Okay maybe I'm a bit confused then. > > When Windows gave me a URB with 65536 bytes of data, I set buffer_length > to 65536 and filled up the SG registers accordingly, but usbback gave me > an error. When I break it into 512 byte (packet size) chunks it works > okay. I just assumed that you have to give usbback requests with less > that 'max packet size' of data. > > Maybe the cause of my error was somewhere else? I'll try it again. If you transfer 65536 bytes of data, you should change the USBIF_MAX_SEGMENTS_PER_REQUESTS value to 16 or more. It is defined in include/xen/interface/io/usbif.h You need to recompile the drivers. Request size and MAX_RING_SIZE are trade-off. I defined this value empirically. If the value is about up to 20, it doesn't affect the performance of memory stick. Regards, Noboru