Messages in this thread | | | Date | Fri, 21 Sep 2007 10:15:10 -0400 | From | "Dmitry Torokhov" <> | Subject | Re: [RFC][PATCH 2/6] lockdep: validate rcu_dereference() vs rcu_read_lock() |
| |
On 9/20/07, Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote: > On Thu, Sep 20, 2007 at 01:31:35PM -0400, Dmitry Torokhov wrote: > > > > OK, then what is the purpose of synchronize_sched() in -rt? > > To wait for all preempt-disable, irq-disable, hard-irq, and SMI/NMI code > sequences to complete.
OK, so what spin_lock_irq[save]? Does is disable IRQs in -rt or not anymore? If IRQs are disabled it appears that I can continue using synchronize_sched().
> > > You really need to provide users with a replacement. There are several > > drivers that use it and for example r8169 is not what you'd call a > > 'low performer'. > > I did look at making a synchronize_all_irq() some time back, and all > the approaches I came up with at the time were busted. > > But I just took another look, and I think I see a way to handle it. > Either that, or I simply forgot the way in which this approach is > broken... > > I will stare at is some more. >
Thank you.
> > I guess I can switch i8042 to use synchronize_irq(). That still works > > in -rt, doesn't it? That still leaves atkbd... > > Yep, looks that way to me. The only difference that I can see is that > in -rt, concurrent synchronize_irq() calls on the same descriptor mean > that the guy that gets there second has to wait for the next interrupt > to happen. >
Does this mean that there is a possibility for a thread to hang in synchronize_irq() if that second IRQ never comes?
-- Dmitry - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |