[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d120d5000709210715q22682893ib87998727baffe38@mail.gmail.com>
Date: Fri, 21 Sep 2007 10:15:10 -0400
From: "Dmitry Torokhov" <dmitry.torokhov@...il.com>
To: paulmck@...ux.vnet.ibm.com
Cc: "Peter Zijlstra" <a.p.zijlstra@...llo.nl>,
linux-kernel@...r.kernel.org, "Ingo Molnar" <mingo@...e.hu>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Nick Piggin" <nickpiggin@...oo.com.au>
Subject: Re: [RFC][PATCH 2/6] lockdep: validate rcu_dereference() vs rcu_read_lock()
On 9/20/07, Paul E. McKenney <paulmck@...ux.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists