[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111004231548.GH2223@linux.vnet.ibm.com>
Date: Tue, 4 Oct 2011 16:15:48 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
linux-rt-users <linux-rt-users@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: Quick review of -rt RCU-related patches
On Wed, Oct 05, 2011 at 12:12:35AM +0200, Peter Zijlstra wrote:
> On Wed, 2011-10-05 at 00:05 +0200, Thomas Gleixner wrote:
> > > peter_zijlstra-frob-rcu.patch
> > >
> > > Looks OK. Hmmm... Should this one go to mainline?
> > > Oh, looks equivalent, actually. So why the change?
> >
> > Peter ?
>
> - if (in_irq() || in_serving_softirq()) {
> + if (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_OFFSET)) {
>
>
> For !rt its equivalent yes, for rt otoh its not:
>
> int in_serving_softirq(void)
> {
> int res;
>
> preempt_disable();
> res = __get_cpu_var(local_softirq_runner) == current;
> preempt_enable();
> return res;
> }
>
> However invoke_softirq() will still add SOFTIRQ_OFFSET so we need to
> look at that to avoid recursion issues.
>
> The changelog describes this. So this change is a direct consequence of
> -rt frobbing the softirq stuff and thus isn't needed upstream.
Ah, thank you for the explanation!
Thanx, Paul
--
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