Messages in this thread Patch in this message | | | Date | Thu, 8 Mar 2012 13:26:47 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [GIT PULL] RCU changes for v3.3 |
| |
On Wed, Mar 07, 2012 at 10:49:26AM -0500, Josh Boyer wrote: > On Wed, Mar 7, 2012 at 10:27 AM, Paul E. McKenney > <paulmck@linux.vnet.ibm.com> wrote: > > On Wed, Mar 07, 2012 at 09:09:39AM -0500, Josh Boyer wrote: > >> On Wed, Mar 7, 2012 at 6:44 AM, Sergey Senozhatsky > >> <sergey.senozhatsky@gmail.com> wrote: > >> > Hello, > >> > I just hit the same problem. > >> > > >> > Is this patch scheduled for 3.3 until release or will land during 3.4 > >> > merge window? > >> > >> There are 3 patches in Paul's 3.4 queue, and another 9 of Steven Rostedt's > >> that fix this. They'll wind up in 3.4. > >> > >> I looked at reverting the patch that adds this new warning and it doesn't > >> trivially revert. > > > > What are you based on? I should be able to disable the warning for > > you easily enough. > > 3.3. I think I tried reverting 00f49e5729af602deb559b0cf293a00b625e8636 and > it failed. Then I locally commented out the WARN_ONCE in the functions which > got rid of that, but we still get a 'suspicious RCU usage' warning when > running powertop. I gave up after that, since it all goes away if we disable > the debugging options and you have fixes queued for 3.4.
How about the following?
Thanx, Paul
------------------------------------------------------------------------
rcu: hack to disable RCU idle checking
Not for inclusion -- for mainline the correct approach is to fix things so that RCU is not invoked from CPUs that RCU believes to be idle. Use the upcoming RCU_NONIDLE() macro for this, or the new tracing functions designed for use from idle.
Not-signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c index 977296d..0829314 100644 --- a/kernel/rcutiny.c +++ b/kernel/rcutiny.c @@ -169,7 +169,7 @@ void rcu_irq_enter(void) */ int rcu_is_cpu_idle(void) { - return !rcu_dynticks_nesting; + return false; } EXPORT_SYMBOL(rcu_is_cpu_idle); diff --git a/kernel/rcutree.c b/kernel/rcutree.c index 6c4a672..397cca8 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c @@ -572,12 +572,7 @@ void rcu_nmi_exit(void) */ int rcu_is_cpu_idle(void) { - int ret; - - preempt_disable(); - ret = (atomic_read(&__get_cpu_var(rcu_dynticks).dynticks) & 0x1) == 0; - preempt_enable(); - return ret; + return false; } EXPORT_SYMBOL(rcu_is_cpu_idle); -- 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/
| |