Messages in this thread | | | Date | Fri, 13 Oct 2006 17:08:46 -0400 (EDT) | From | Alan Stern <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |