All of lore.kernel.org
 help / color / mirror / Atom feed
From: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
To: james.harper@bendigoit.com.au, xen-devel@lists.xensource.com
Subject: Re: pvusb performance
Date: Mon, 14 Sep 2009 09:55:12 +0900	[thread overview]
Message-ID: <4AAD9470.9060701@jp.fujitsu.com> (raw)
In-Reply-To: <AEC6C66638C05B468B556EA548C1A77D0177D241@trantor>

James,

> 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?

Possible.
RING accepts two or more requests, and queued requests are sent to
backend at a time.

> 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?

Current pvusb doesn't care it.

You mean, when error occurred, HCD has to be responsible for flushing
the subsequent requests?

Should urb transferring errors be handled with USB device drivers
(the upper layer of HCD)?

If urb unlinking work properly, would it be solved?


Noboru.

  reply	other threads:[~2009-09-14  0:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-12  3:57 pvusb performance James Harper
2009-09-14  0:55 ` Noboru Iwamatsu [this message]
2009-09-14  1:19   ` James Harper
2009-09-14  2:36     ` Noboru Iwamatsu
2009-09-14  5:19       ` James Harper
2009-09-14  5:45         ` Noboru Iwamatsu
2009-09-14  5:49           ` James Harper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AAD9470.9060701@jp.fujitsu.com \
    --to=n_iwamatsu@jp.fujitsu.com \
    --cc=james.harper@bendigoit.com.au \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.