On Wed, 2005-10-05 at 08:58 -0700, david singleton wrote:
Yes. Thats happening. I moved the priority of softirq-timer above
hackbench priority and the problem goes away. I look into this further.
I had to set the threaded softirqs to real time priorities with the hi
thread at 24,
the timer thread at 23, net_rx at 22, etc. I wanted their priorities
just below the IRQ threads.
The problem was the timer thread. Other real time threads got in its
way and held off timers.
And I had to make a note if any higher priority apps depended on timers
that the timer
thread had to be boosted in priority to match that real time threads
priority. It's like
the softirqd's timer thread needs priority inheritance.
Well, we had implemented this in one of the previous -rt versions for
the high resolution timers. It was a bit hacky and I did not come around
to reimplement it on top of ktimers. This is only a problem for itimers
and posix interval timers at the moment. The nanosleep variants do not
suffer from this problem as the wakeup happens directly from the hr
timer interrupt. That way we have only one instead of two task switches.
tglx