Re: PREEMPT/PREEMPT_RT question

Steven Rostedt
2005-07-13T03:55:03Z

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