This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] pvusb performance

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Noboru Iwamatsu" <n_iwamatsu@xxxxxxxxxxxxxx>
Subject: [Xen-devel] pvusb performance
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Sat, 12 Sep 2009 13:57:53 +1000
Delivery-date: Fri, 11 Sep 2009 20:58:23 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcozXTQaLv/y05v1RGe5vAmdPiK8+g==
Thread-topic: pvusb performance

My pvUSB windows driver is now working at a very basic level (flash
memory stick), and I'm conscious of the fact that I only send one
request on the ring at a time and have to wait for it to complete before
I can put the next one on. Can this be improved?

I think maybe it can't with your current usbback driver - there would
need to be some mechanism to flush the ring of all subsequent requests
in the case of an error, eg when I get a 'Read 65536 bytes' request from
Windows, I do this:

. Put read request command on ring
. Wait for response
. Put data request on ring for first 512 bytes
. Wait for response
. Put data request on ring for next 512 bytes
. etc
. etc

If there is a buffer underrun, I can see no way for Linux to do
something with the subsequent data requests... it would need to do
something like put the ring into a error/underrun condition and 'eat'
all the requests until a clear error request came down the ring.

Or maybe this is already part of the design?



Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>