Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck...
authorIngo Molnar <mingo@kernel.org>
Fri, 27 Mar 2015 09:04:06 +0000 (10:04 +0100)
committerIngo Molnar <mingo@kernel.org>
Fri, 27 Mar 2015 09:04:06 +0000 (10:04 +0100)
Pull RCU updates from Paul E. McKenney:

  - Documentation updates.

  - Changes permitting use of call_rcu() and friends very early in
    boot, for example, before rcu_init() is invoked.

  - Miscellaneous fixes.

  - Add in-kernel API to enable and disable expediting of normal RCU
    grace periods.

  - Improve RCU's handling of (hotplug-) outgoing CPUs.

    Note: ARM support is lagging a bit here, and these improved
    diagnostics might generate (harmless) splats.

  - NO_HZ_FULL_SYSIDLE fixes.

  - Tiny RCU updates to make it more tiny.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
1  2 
kernel/sched/idle.c

index 80014a17834214fcad51add08b2b171463e84128,b0090accfb5b806301a01de8df6ed914029f9e5c..d27d36476dcaab364f28d9d7632896a49b277f07
@@@ -195,21 -196,10 +195,23 @@@ exit_idle
  
        rcu_idle_exit();
        start_critical_timings();
 +      return;
 +
 +use_default:
 +      /*
 +       * We can't use the cpuidle framework, let's use the default
 +       * idle routine.
 +       */
 +      if (current_clr_polling_and_test())
 +              local_irq_enable();
 +      else
 +              arch_cpu_idle();
 +
 +      goto exit_idle;
  }
  
+ DEFINE_PER_CPU(bool, cpu_dead_idle);
  /*
   * Generic idle loop implementation
   *