Re: 2.6.11, USB: High latency?

From: Ingo Molnar
Date: Mon Apr 04 2005 - 03:41:11 EST



* kus Kusche Klaus <kus@xxxxxxxx> wrote:

> Moreover, we know from experience that the "WBINDV" instruction (Write
> back and invalidate CPU cache) can cause such latencies.
>
> Does this instruction occur anywhere in Linux?

yes, they rarely occur when MTRR's are set (and some drivers like video
uses it too), but then they'd also show up in the trace. The only other
possibility would be if a driver used wbinvd in a preemptible section -
that would not be traced. OTOH, it could still show up in wakeup-latency
tracing.

To make sure, could you remove all relevant wbinvd's from your kernel
tree? You can just comment out those lines from all relevant 'grep -rl
wbinvd . | grep -v x86_64' files. (and in assembly defines, just replace
the "wbinvd" with "nop") The kernel will most likely still work most of
the time.

Or if you want to be safe: change all wbinvd occurances to:
preempt_disable(); <wbinvd>; preempt_enable() sections, for tracing to
pick them up.

Ingo
-
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/