From: Simon Arlott <simon@fire.lp0.eu>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: USB list <linux-usb@vger.kernel.org>,
Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: cxacru usb_bulk_msg() firmware upload 36x slower with OHCI vs. UHCI
Date: Wed, 18 Nov 2009 21:59:40 +0000 [thread overview]
Message-ID: <4B046E4C.7040205@simon.arlott.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0911181614010.2745-100000@iolanthe.rowland.org>
On 18/11/09 21:28, Alan Stern wrote:
> If you don't have a good kernel to start from then there's nothing to
> search for. I was assuming that a relatively recent kernel change
> might have caused the slow-down, but if it has been this way for a long
> time then a different approach is needed.
The earliest kernel I've had this happen with is 2.6.28-rc2, when I first
started using it with an OHCI controller.
> There's no particular significance to 256 ms that I know of, although
> if the hardware is malfunctioning it could easily pick such a rate.
> The page size is significant because that's how the driver and the
> hardware divide up transfers; each Transfer Descriptor refers to at
> most 4096 bytes of data.
>
> On Wed, 18 Nov 2009, Simon Arlott wrote:
>> The OHCI code appears to split the data up into 4096 chunks, but even the
>> odd sized transfer of 25280 bytes at the end runs at the same speed:
>>
>> [ 4774.830569] cxacru: sending fw 0x3 size 0x62c0 to #98668
>> [ 4776.410375] cxacru: sending fw 0x3 size 0x100 to #e0
>
> Yep. My intuition says "hardware problem", but there's no hard
> evidence one way or another.
>
> What happens with other sorts of devices, such as a USB flash drive?
On my desktop, I don't usually use the OHCI controller directly, but
through hubs on EHCI. I do have an USB Audio device which works ok
using OHCI.
The firmware load fails over EHCI (via a hub) despite running even faster:
[89633.219403] cxacru: sending fw 0x3 size 0x8000 to #7000
[89633.220147] cxacru: sending fw 0x3 size 0x8000 to #e000
[89633.220530] cxacru: sending fw 0x3 size 0x8000 to #15000
[89633.220774] cxacru: sending fw 0x3 size 0x8000 to #1c000
[89633.220898] cxacru: sending fw 0x3 size 0x8000 to #23000
[89633.221286] cxacru: sending fw 0x3 size 0x8000 to #2a000
338µs per 32KB... which is 775mbit/s+ and doesn't make sense.
I can write a 10MB file to an USB flash drive over OHCI, and umount+sync
takes around 13 seconds.
--
Simon Arlott
next prev parent reply other threads:[~2009-11-18 21:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-18 12:58 cxacru usb_bulk_msg() firmware upload 36x slower with OHCI vs. UHCI Simon Arlott
2009-11-18 15:51 ` Alan Stern
2009-11-18 20:02 ` Simon Arlott
2009-11-18 21:28 ` Alan Stern
2009-11-18 21:59 ` Simon Arlott [this message]
2009-11-18 22:25 ` Alan Stern
2009-11-22 10:58 ` Simon Arlott
2009-11-22 16:14 ` Alan Stern
2009-11-22 17:16 ` Simon Arlott
2009-11-22 22:17 ` Alan Stern
2010-08-30 21:49 ` Simon Arlott
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=4B046E4C.7040205@simon.arlott.org.uk \
--to=simon@fire.lp0.eu \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox