Re: PREEMPT_RT and I-PIPE: the numbers, take 3

From: Ingo Molnar
Date: Thu Jun 30 2005 - 02:10:10 EST



* Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:

> However, on a UP system, I have to agree with Kristian's choice of
> configuration. An embedded system developer running on a UP system
> would naturally use a UP Linux kernel build, so it makes sense to
> benchmark a UP kernel on a UP system.

sure.

keeping that in mind, PREEMPT_RT is quite similar to the SMP kernel (it
in fact activates much of the SMP code), so if you want to isolate the
overhead coming from the non-locking portions of PREEMPT_RT, you'd
compare to the SMP kernel. I do that frequently.

another point is that this test is measuring the overhead of PREEMPT_RT,
without measuring the benefit of the cost: RT-task scheduling latencies.
We know since the rtirq patch (to which i-pipe is quite similar) that we
can achieve good irq-service latencies via relatively simple means, but
that's not what PREEMPT_RT attempts to do. (PREEMPT_RT necessarily has
to have good irq-response times too, but much of the focus went to the
other aspects of RT task scheduling.)

were the wakeup latencies of true RT tasks tested, you could see which
technique does what. But all that is being tested here is pure overhead
to non-RT tasks, and the worst-case latency of raw interrupt handling.
While they are important and necessary components of the whole picture,
they are not the whole picture. This is a test that is pretty much
guaranteed to show -RT as having higher costs - in fact i'm surprised it
held up this well :)

so in that sense, this test is like running an SMP kernel on an UP box
and comparing it against the UP kernel (or running an SMP kernel on an
SMP box but only running a single task to measure performance), and
concluding that it has higher costs. It is a technically correct
conclusion, but obviously misses the whole picture, and totally misses
the point behind the SMP kernel.

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/