Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10

From: Ingo Molnar
Date: Wed Mar 30 2005 - 01:56:46 EST



* Lee Revell <rlrevell@xxxxxxxxxxx> wrote:

> > could you run a bit with tracing disabled (in the .config) on the C3?
> > (but wakeup timing still enabled) It may very well be tracing overhead
> > that makes those latencies that high. Also, we'd thus have some hard
> > data on how much overhead tracing is in such a situation, on that CPU.
>
> I have not left it to run overnight yet with the swappiness set to
> 100, which triggers the biggest latencies as my entire desktop is
> swapped out, but so far it looks like the problem was tracing
> overhead. With timing enabled but tracing disabled the longest
> latency on the C3 so far is 270 usecs.
>
> An important giveaway is that with tracing enabled the same code path
> only triggers ~200 usec latencies on the K7 but ~2ms on the C3. Since
> the longest latency with PREEMPT_DESKTOP is normally more a function
> of memory bandwidth than processor speed, and the machines differ much
> more in the latter, this agrees with the theory that the overhead is
> the problem.

besides cycle overhead, function tracing increases cache footprint - and
with a CPU that has smaller caches (such as the C3) it can tip a loop
over the edge, and can make it cache-trashing, while it would fit into
the cache before. In such a situation the difference can be dramatic.

(on CPUs with larger caches similar artifacts can happen too, but it
needs a 'fatter' loop, which are apparently rarer.)

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/