Re: -rt IRQ handler priorities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2006-05-09 at 13:27 -0700, Kjetil S. Matheussen wrote:
> On Tue, 9 May 2006, Lee Revell wrote:
> 
> > On Tue, 2006-05-09 at 12:56 -0700, Kjetil S. Matheussen wrote:
> >>
> >> Then theres a latency problem in the kernel. A sleeping high priorioty
> >> SCHED_FIFO thread must be woken up in time even if another lower
> >> priority SCHED_FIFO thread is buzy-looping. And currently, unless the
> >> softirq timer has priority 99, that condition can not be fullfilled.
> >>
> >> So, the softirq timer must run with priority 99.
> >
> > I think it's unusual to want a high priority SCHED_FIFO thread to be
> > awakened by a timer.  What are you trying to do?
> >
> 
> Well, the reason for stumble upon this problem is when I ported/tested
> the general watchdog program "das_watchdog" from 2.4 to 2.6. For some
> reason, it just didn't work. But after reading the instructions for
> Florians rt_watchdog program, it became clear that the softirq
> thread must have priority 99.
> 
> But lets say that you have program with two SCHED_FIFO threads. One
> of them is a high priority (between 2 and 98) timer that is only
> used to signal other threads. The other SCHED_FIFO thread has priority
> 1 and needs to run realtime for some reason, and it might not even be
> a good reason. However, if that other thread have to do
> some hard work, it stalls your high priority timer thread for a small 
> time, and your sleep-based timer suddenly becomes shaky.
> 

Hmm, it sounds like a solution could be to separate timers that just
wake up a process from ones that do actual work and run them in separate
kernel threads.

Lee


[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux