RE: [QUESTION] bulk out performance

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

 



Ming,

On OMAP for RX we are using DMA in Mode0 while for Tx we are using it in Mode1.  That might contribute towards the difference in throughput that you are seeing.

regards
swami

________________________________________
From: linux-usb-owner@xxxxxxxxxxxxxxx [linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of David Brownell [david-b@xxxxxxxxxxx]
Sent: Wednesday, March 25, 2009 10:26 PM
To: Ming Lei
Cc: stern@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx
Subject: Re: [QUESTION] bulk out performance

On Wednesday 25 March 2009, Ming Lei wrote:
> I also find such issues in other hardware(surely not use Mentor IP).

Another observation is that for some reason, all USB
peripheral hardware I've seen has a hard time getting
OUT transfers to work cleanly.  Especially with DMA.

Double buffering support in hardware helps, but there
always seem to be some extra troublesome corner cases
with OUT cases that don't show up with IN.  It's not
just short packet terminations on transfers; there are
a lot of other strange interactions.


> I use Mentor's dma and don't enable CPPI, and find the
> similar problem with CONFIG_MUSB_PIO_ONLY=y.

PIO_ONLY would be *without* Mentor's DMA.  :)

I'm not sure anyone actually turned on the double
buffering support in the musb_hdrc driver.  I tried
it at one point and didn't have much success.  Having
that would help.


> I guess the reason is related with PING for the poor bulk out
> performance compared with bulk in.   Bulk in transfer can
> move data from sdram to udc fifo  before incoming in token, but
> bulk out can not receive data in advance, so it is very quick to fill
> udc fifo with incoming data  and leads to continuous PING packets
> from host until unloading all data from fifo to sdram.

... unless double buffering is in use, yes.  Having
that work would be the single biggest performance
improvement one could make in musb_hdrc peripheral
behavior, I suspect.

- Dave



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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux