lkml.org 
[lkml]   [2012]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2012-03-09 17:01    [W:0.308 / U:0.672 seconds]
©2003-2014 Jasper Spaans. hosted at Digital Ocean