lkml.org 
[lkml]   [2010]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 05/48] rcu: ignore offline CPUs in last non-dyntick-idle CPU check
    Date
    From: Lai Jiangshan <laijs@cn.fujitsu.com>

    Offline CPUs are not in nohz_cpu_mask, but can be ignored when checking
    for the last non-dyntick-idle CPU. This patch therefore only checks
    online CPUs for not being dyntick idle, allowing fast entry into
    full-system dyntick-idle state even when there are some offline CPUs.

    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---
    kernel/rcutree_plugin.h | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
    index 79b53bd..687c4e9 100644
    --- a/kernel/rcutree_plugin.h
    +++ b/kernel/rcutree_plugin.h
    @@ -1016,7 +1016,7 @@ int rcu_needs_cpu(int cpu)

    /* Don't bother unless we are the last non-dyntick-idle CPU. */
    for_each_cpu_not(thatcpu, nohz_cpu_mask)
    - if (thatcpu != cpu) {
    + if (cpu_online(thatcpu) && thatcpu != cpu) {
    per_cpu(rcu_dyntick_drain, cpu) = 0;
    per_cpu(rcu_dyntick_holdoff, cpu) = jiffies - 1;
    return rcu_needs_cpu_quick_check(cpu);
    --
    1.7.0


    \
     
     \ /
      Last update: 2010-05-04 22:51    [W:4.160 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site