Messages in this thread | | | Date | Thu, 22 Aug 2013 10:41:47 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH 5/8] rcu: eliminate deadlock for rcu read site |
| |
On Thu, 22 Aug 2013 10:34:31 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
> On Thu, 22 Aug 2013 22:23:09 +0800 > Lai Jiangshan <eag0628@gmail.com> 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
| |