Re: 2.6.11, USB: High latency?

From: Alan Stern
Date: Wed Mar 30 2005 - 10:58:42 EST


On Wed, 30 Mar 2005, kus Kusche Klaus wrote:

> I'm performing realtime latency tests (for details about the hardware
> and software, see my mail "[BUG] 2.6.11: Random SCSI/USB errors when
> reading from USB memory stick" erlier today).
>
> Even when the errors described in my previous mail does not occur,
> massive USB stick transfers cause latencies of 1 to 2 milliseconds,
> which is way too much for realtime control systems.
>
> I observe these latencies on a vanilla 2.6.11 at any rtprio (even 99),
> and on realtime-preempt-2.6.12-rc1-V0.7.41-11 at low rtprio (1). When
> running the program on realtime-preempt-2.6.12-rc1-V0.7.41-11 with
> rtprio 99, the latencies are gone, but using a rtprio higher than the
> interrupt handlers is not realistic.
>
> Is there anything which can be done about it?

The latencies are almost certainly caused by the USB host controller
driver. I'm planning improvements to uhci-hcd which should help reduce
the latency, but it will still be on the large side. And I won't have
time to write the changes to the driver for several months.

The best solution is to stop using uhci-hcd. Get a PCI card with an OHCI
or EHCI (high-speed) controller. They do much more work in hardware,
reducing the amount of time the driver needs to spend with interrupts
disabled.

Alan Stern

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