[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.0610131703030.8377-100000@iolanthe.rowland.org>
Date: Fri, 13 Oct 2006 17:08:46 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Open Source <opensource3141@...oo.com>
cc: WolfgangMües <wolfgang@...w-muees.de>,
<linux-usb-devel@...ts.sourceforge.net>,
<linux-kernel@...r.kernel.org>
Subject: Re: [linux-usb-devel] USB performance bug since kernel 2.6.13
(CRITICAL???)
On Fri, 13 Oct 2006, Open Source wrote:
> Hi Wolfgang (and all),
>
> Thanks for the input. However, I am not understanding
> exactly why kernel mode is treated any differently than
> user mode for this sort of thing. I am looking at the code
> in ehci-q.c and ehci-hcd.c.
>
> It seems like the unlinking of completed URBs
> happens asynchronously on a timer. This is a
> surprise to me since I thought this was happening
> on an IRQ from the host controller. But if what I'm
> surmising is correct it would explain everything
> I am seeing. I'm not able to ascertain how
> user mode drivers are treated differently than
> kernel mode drivers in this regard. From what I
> can tell, all drivers would be broken equally!
> Can anyone who has more experience
> with this code confirm this for me?
I don't think so. You must be mis-reading the code. The only timers used
in ehci-hcd are a couple of watchdogs; they shouldn't affect the normal
URB completions which occur within ehci_work(), called by ehci_irq().
What Wolfgang meant was that user processes are subject to unpredictable
delays from all kinds of sources.
Alan Stern
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists