Re: Ingo's realtime_preempt patch causes kernel oops

Steven Rostedt
2006-05-24T15:52:40Z

On Wed, 2006-05-24 at 08:32 -0700, Sven-Thorsten Dietrich wrote:
> On Wed, 2006-05-24 at 15:13 +0200, Thomas Gleixner wrote:
> > On Wed, 2006-05-24 at 08:55 -0400, Steven Rostedt wrote:
> > > Thomas or Ingo,
> > >
> > > Maybe the handling of IRQs needs to handle the case that shared irq can
> > > have both a NODELAY and a thread. The irq descriptor could have a
> > > NODELAY set if any of the actions are NODELAY, but before calling the
> > > interrupt handler (in interrupt context), check if the action is NODELAY
> > > or not, and if not, wake up the thread if not done so already.
> >
> > As I said yesterday. You need a demultiplexer for such cases.
> >
>
> Would IRQs stay masked until the thread has finished running?

I would say yes. But the system is basically broken if you have the
same interrupt line that needs both to be threaded and NODELAY.

Basically, the best I can think to have for such a case, is all
interrupt threads that have a shared NODELAY run at MAX_PRIO (99). So
that they act like a NODELAY interrupt, in that they run over everything
else, but they can still schedule.

-- Steve