lkml.org 
[lkml]   [2014]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 14/16] rcu: Remove redundant checks for rcu_scheduler_fully_active
    Date
    rcu_scheduler_fully_active is set to true early in the boot process.

    The check for this flag is only needed in rcu_prepare_kthreads() as this
    function is called before the above flag is set. All other checks are redundant.
    Hence this commit removes those redundant checks.

    Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
    ---
    kernel/rcu/tree_plugin.h | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
    index 9a50e1d..541c776 100644
    --- a/kernel/rcu/tree_plugin.h
    +++ b/kernel/rcu/tree_plugin.h
    @@ -1341,7 +1341,7 @@ static void rcu_spawn_one_boost_kthread(struct rcu_state *rsp,
    if (&rcu_preempt_state != rsp)
    return 0;

    - if (!rcu_scheduler_fully_active || rnp->qsmaskinit == 0)
    + if (rnp->qsmaskinit == 0)
    return 0;

    rsp->boost = 1;
    @@ -1486,9 +1486,10 @@ static void rcu_prepare_kthreads(int cpu)
    struct rcu_node *rnp = rdp->mynode;

    /* Fire up the incoming CPU's kthread and leaf rcu_node kthread. */
    - if (rcu_scheduler_fully_active)
    - rcu_spawn_one_boost_kthread(rcu_state_p, rnp);
    + if (!rcu_scheduler_fully_active)
    + return;

    + rcu_spawn_one_boost_kthread(rcu_state_p, rnp);
    rcu_spawn_all_nocb_kthreads(cpu);
    }

    @@ -2508,9 +2509,8 @@ static void rcu_spawn_all_nocb_kthreads(int cpu)
    {
    struct rcu_state *rsp;

    - if (rcu_scheduler_fully_active)
    - for_each_rcu_flavor(rsp)
    - rcu_spawn_one_nocb_kthread(rsp, cpu);
    + for_each_rcu_flavor(rsp)
    + rcu_spawn_one_nocb_kthread(rsp, cpu);
    }

    /*
    --
    2.0.0.rc2


    \
     
     \ /
      Last update: 2014-07-23 09:22    [W:4.492 / U:0.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site