Re: PREEMPT/PREEMPT_RT question

From: Steven Rostedt
Date: Tue Jul 12 2005 - 22:56:56 EST


On Tue, 2005-07-12 at 18:46 -0700, Paul E. McKenney wrote:

> > If you are talking about scheduler_tick, then yes, it is called by the
> > timer interrupt which is a SA_NODELAY interrupt. If you don't want to
> > get interrupted by the timer interrupt, then you will need to disable
> > interrupts for both. Since currently, the timer interrupt is the only
> > true hard interrupt in the PREEMPT_RT and that may not change.
>
> OK, so if I take a spinlock in something invoked from scheduler_tick(),
> then any other acquisitions of that spinlock must disable hardware
> interrupts, right?

Yes, otherwise you could have a local CPU deadlock on a SMP machine. And
I would also say the same is true for any lock that is grabbed by the
timer interrupt or one of the functions it calls.

-- Steve


-
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/