mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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: Sun, 22 Nov 2009 17:16:34 +0000	[thread overview]
Message-ID: <4B0971F2.8020702@simon.arlott.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0911221108150.27423-100000@netrider.rowland.org>

On 22/11/09 16:14, Alan Stern wrote:
> On Sun, 22 Nov 2009, Simon Arlott wrote:
>> On 18/11/09 22:25, Alan Stern wrote:
>> > On Wed, 18 Nov 2009, Simon Arlott wrote:
>> >> > What happens with other sorts of devices, such as a USB flash drive?
>> >>  
>> >> I can write a 10MB file to an USB flash drive over OHCI, and umount+sync
>> >> takes around 13 seconds.
>> > 
>> > Yes, that's about right.  It leads me to wonder if something funny is
>> > going on with the device, or least with the firmware-loading part of
>> > it.  Odd that it works differently with UHCI and OHCI, though.  There
>> > shouldn't be any differences visible to the device.  You don't have
>> > anything else attached to the same bus, do you?
>> 
>> Yes, but not in use and I could disconnect everything to test it.
>> 
>> core/hcd.c has an interesting comment in usb_hcd_check_unlink_urb():
> 
> You mean usb_hcd_poll_rh_status().

Yes... misplaced paste from my other email.

>>         /* The USB 2.0 spec says 256 ms.  This is close enough and won't
>>          * exceed that limit if HZ is 100. The math is more clunky than
>>          * maybe expected, this is to make sure that all timers for USB devices
>>          * fire at the same time to give the CPU a break inbetween */
>> 
>> I'll try increasing the frequency of this timer too.
> 
> It shouldn't make any difference; that timer is used with OHCI only in 
> exceptional circumstances (like immediately after a device is plugged 
> in or unplugged), not during normal operation.  But maybe something 
> strange is going on.  You could add a printk in ohci_hub_status_data(), 
> which is the routine that timer ends up calling.

I've tried sending 64 and 2048 bytes at a time, with the same speed
(4ms and 128ms), so that time is just a coincidence.

Submitting it all as multiple asynchronous URBs in one go doesn't help
either. I've been trying to get EHCI working too (via two different
high speed hubs) but that's not working even if I add long delays.

-- 
Simon Arlott

  reply	other threads:[~2009-11-22 17:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-18 12:58 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
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 [this message]
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=4B0971F2.8020702@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

all inboxes | Powered by JetHome®