Re: [PATCH 1/2] signal: simplify deadlock-avoidance in lock_task_sighand()

From: Steven Rostedt
Date: Tue Sep 23 2014 - 10:31:03 EST


On Tue, 23 Sep 2014 16:20:37 +0200
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Tue, Sep 23, 2014 at 07:45:22AM -0400, Rik van Riel wrote:
>
> > > I really thing the preempt_disable/enable is not needed.
> > >
> > > Paul, Thomas, care to comment?
> >
> > I suspect you are right. On normal kernels, rcu_read_lock() will
> > ensure preemption is disabled.
> >
> > On -rt, the locks within are all sleepable mutexes.
> >
> > Either way, things should be ok.
>
> But with CONFIG_PREEMPT we get preemptible RCU but not the
> spinlock->rt_mutex conversion.

Right, I was about to say that. That is, rcu_read_lock() in mainline
does not always disable preemption (See CONFIG_PREEMPT_RCU).

But I still think this should be safe. I don't see the siglock ever
being taking in the scheduler or by rt_mutex_unlock().

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