Bug in split transactions on Raspberry Pi

Doug Anderson dianders at chromium.org
Wed Jan 27 13:47:25 PST 2016


On Wed, Jan 27, 2016 at 1:34 PM, Alan Stern <stern at rowland.harvard.edu> wrote:
> On Wed, 27 Jan 2016, Doug Anderson wrote:
>> This patch should fix ya.
>> FIXUP: FROMLIST: usb: dwc2: host: Manage frame nums better in scheduler
>> https://chromium-review.googlesource.com/324185
> Hmmm.  That fixed the problem of the polls occuring too frequently, but
> now I see again intervals that are larger than 256 ms.  In the most
> recent test there are two intervals of 512 ms and one of 2048 ms.

OK, good to know.  Ugh.  I'll have to see if I can reproduce that.  If
I had to guess, though, I'd say that you're probably running into high
interrupt latency problems.  Those problems would be worse on the
Raspberry Pi than on my system due to the significantly slower

Can you confirm that these problems also were introduced by my series?
 AKA: you never saw > 256 ms polls before my series and now you see

Turning on scheduler tracing would probably be quite helpful at this
point.  You can see
<https://chromium-review.googlesource.com/#/c/314254/>.  If printing
even non-verbose traces to the console is too much, you could make
everything "trace_printk".  You might also want

Things printed with trace_printk will end up in
/sys/kernel/debug/tracing/.  See "trace" for a single trace buffer or
trace_pipe.  Using the trace buffer can be a bit of a pain but the
cost of the prints is much lower which is why it works well for
verbose scheduler spew.

I typically like the non-verbose stuff in the console and the verbose
stuff in the trace buffer.  Then I can look in the console for info on
what's scheduled and grep through the trace buffer for it.

> PS: Is the databook for the DWC2 controller available for download?
> I'm going on vacation starting next week, and I might want to have a
> little light reading to take along.  :-)

I don't have a databook that I can give you, unfortunately.

More information about the linux-rpi-kernel mailing list