Re: [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4]

Thomas Gleixner
2004-11-01T16:03:13Z

On Mon, 2004-11-01 at 15:06 +0100, Ingo Molnar wrote:
> ah, found it. Only RT tasks were supposed to get special priority
> handling, while in fact all tasks got it - so when Thomas ran hackbench
> (Thomas, you did, right?) it created an O(nr_hackbench) overhead within
> the mutex code ... I've uploaded -V0.6.5 to the usual place:

Yes, I was running hackbench as usual

> http://redhat.com/~mingo/realtime-preempt/
>
> Thomas, can you confirm that this kernel fixes the irqs-off latencies?
> (the priority loop indeed was done with irqs turned off.)

The latencies are still there. I have the feeling it's worse than 0.6.2.

It's definitely irq-off. I have a card with a controller, which produces
an 2ms interrupt. The controller busy loops until the second level ack
is done. The time is measured from raising the irq to the 2nd level ack.

The irqhandler is using NODELAY and keeps irqs disabled. So the measured
time in the controller is the irqs disabled time + the irq latency
(which is ~7µs). The testrun on 0.6.5 showed latencies up to 600µs
within 10 minutes.

After 15 Mintes the keyboard was dead.

I'm porting some of the Libertos debugging stuff into 0.6.5, so I can
instrument the problem.

More later.

tglx