Re: [PATCH 5/8] rcu: eliminate deadlock for rcu read site

From: Steven Rostedt
Date: Thu Aug 22 2013 - 10:41:54 EST


On Thu, 22 Aug 2013 10:34:31 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Thu, 22 Aug 2013 22:23:09 +0800
> Lai Jiangshan <eag0628@xxxxxxxxx> wrote:
>
>
> > > By making it a irq-safe lock, we need to disable interrupts every time
> > > it is taken, which means the entire pi-chain walk in
> > > rt_mutex_adjust_prio_chain() will pretty much be with interrupts
> > > disabled.
> >
> >
> > I didn't catch your meaning.
> > rt_mutex_adjust_prio_chain() is called without wait_lock held.
> > current C.S. of wait_lock are really short.
> >
>
> There is quite a bit of overhead to enable and disable interrupts. If
> we are doing this in a very fast path, it's going to slow down -rt even
> more.

Looking at the rt_mutex_adjust_prio_chain(), it's not that bad because
the pi_lock needs irqs disabled too, and we would just extend that
section.

But it still extends irqs off.

But in -rt, it is used in the rt_spin_lock_slowlock() where it can exit
out of the code without ever having to disable interrupts.

>
> It would be really nice to avoid making wait_lock be irq safe.

I still would like to exhaust other options before just making
wait_lock irq safe.

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