RE: 2.6.11, USB: High latency?

From: Alan Stern (stern_at_rowland.harvard.edu)
Date: 03/31/05

  • Next message: Romano Giannetti: "Re: 2.6.12-rc1 swsusp broken [Was Re: swsusp not working for me on a PREEMPT 2.6.12-rc1 and 2.6.12-rc1-mm3 kernel]"
    Date:	Thu, 31 Mar 2005 11:48:11 -0500 (EST)
    To: kus Kusche Klaus <kus@keba.com>
    
    

    On Thu, 31 Mar 2005, kus Kusche Klaus wrote:

    > > 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.
    >
    > Any numbers about the expected "large side"?
    > We would need <30 microseconds irq latency,
    > and <<1 milliseconds rt application latency.

    It's pretty hard to say, considering that: (1) None of the code has been
    written yet; (2) It's impossible to say how big a difference new code will
    make just by reading it -- you have to actually test it; and (3) I don't
    have any hardware suitable for testing latencies.

    The biggest advantage would come from using a bottom-half handler to do
    most of the work. Right now the uhci-hcd driver does everything in its
    interrupt handler. This would certainly help IRQ latency; it might not
    affect application latency very much.

    I'll try adding a bottom half in my next series of patches. Maybe it will
    be ready in time to appear in the -mm kernels before 2.6.12-final is
    released.

    > > 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.
    >
    > The hardware is invariable. It is an embedded system with no PCI slots.
    >
    > And it seems to be possible with UHCI,
    > because vxWorks allows USB stick transfers in operation without
    > missing latency requirements.
    >
    > I do not require rt on the USB, it may block its own irq as long as
    > it likes, but it should not affect other irqs.

    We'll see what happens with the upcoming changes. Maybe you'll be able to
    test them for me?

    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/


  • Next message: Romano Giannetti: "Re: 2.6.12-rc1 swsusp broken [Was Re: swsusp not working for me on a PREEMPT 2.6.12-rc1 and 2.6.12-rc1-mm3 kernel]"

    Relevant Pages

    • RE: [BUG] 2.6.11: Random SCSI/USB errors when reading from USB memory stick
      ... >> increase in latency ... Is that IRQ latency or application latency? ... It happens on all USB ports, ... Maybe vxWorks and Windows don't stress the USB controller or device as ...
      (Linux-Kernel)
    • RE: [linux-audio-user] snd-hdsp+cardbus+M6807 notebook=distortion -- FIXED!
      ... > You haven't said which kernel version you're using to test this out ... > the audio, and then try undoing each change individually. ... I did that with the latency and it still worked for the ... and the HDSP driver does not own the cardbus controller. ...
      (Linux-Kernel)
    • Re: Renice X for cpu schedulers
      ... these processes need low latency when they can just be explicit about ... (The hardware and driver aren't terribly exotic for an SoC, ... scheduling latency according to cyclictest. ... It's really a much more interesting scheduler use ...
      (Linux-Kernel)
    • Re: WaveIn notification methods
      ... popping because the driver is not marking the buffers done. ... >> high performance audio? ... > might be suprised to find out that the lowest latency solution in ...
      (microsoft.public.win32.programmer.mmedia)
    • Re: [linux-pm] Power Management framework proposal
      ... set of calls that every driver writer would implement the minimum set of, ... That is not part of the fw: the fw simply expresses parent-child clock ... Powering device on/off will certainly introduce more latency, ... standard cpufreq list of frequencies; everything else is part of the ...
      (Linux-Kernel)