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.028 / U:0.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site