lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2] rcu/nocb: Delete local variable 'need_rcu_nocb_mask' in rcu_init_nohz()
    Date
    ...
    bool need_rcu_nocb_mask = false;

    //#if defined(CONFIG_NO_HZ_FULL)
    if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask))
    need_rcu_nocb_mask = true; <---- //Move it here
    //#endif |
    |
    if (need_rcu_nocb_mask) { | //Can only be true above
    ... -----
    }

    The local variable 'need_rcu_nocb_mask' is true only if CONFIG_NO_HZ_FULL
    is defined. So branch "if (need_rcu_nocb_mask)" can be moved within the
    scope of "#if defined(CONFIG_NO_HZ_FULL)". At this point, using variable
    'need_rcu_nocb_mask' is not necessary, so delete it.

    No functional changes, but the code looks a little more concise.

    The kernel built with CONFIG_NO_HZ_FULL=n and CONFIG_RCU_NOCB_CPU=y ran
    continuously for a whole day, no errors were reported.

    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    ---
    kernel/rcu/tree_nocb.h | 8 ++------
    1 file changed, 2 insertions(+), 6 deletions(-)

    v1 --> v2:
    Update commit message.

    diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h
    index 46694e13398a3ee..e7fe99eb58972a6 100644
    --- a/kernel/rcu/tree_nocb.h
    +++ b/kernel/rcu/tree_nocb.h
    @@ -1154,15 +1154,10 @@ EXPORT_SYMBOL_GPL(rcu_nocb_cpu_offload);
    void __init rcu_init_nohz(void)
    {
    int cpu;
    - bool need_rcu_nocb_mask = false;
    struct rcu_data *rdp;

    #if defined(CONFIG_NO_HZ_FULL)
    - if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask))
    - need_rcu_nocb_mask = true;
    -#endif /* #if defined(CONFIG_NO_HZ_FULL) */
    -
    - if (need_rcu_nocb_mask) {
    + if (tick_nohz_full_running && !cpumask_empty(tick_nohz_full_mask)) {
    if (!cpumask_available(rcu_nocb_mask)) {
    if (!zalloc_cpumask_var(&rcu_nocb_mask, GFP_KERNEL)) {
    pr_info("rcu_nocb_mask allocation failed, callback offloading disabled.\n");
    @@ -1171,6 +1166,7 @@ void __init rcu_init_nohz(void)
    }
    rcu_state.nocb_is_setup = true;
    }
    +#endif /* #if defined(CONFIG_NO_HZ_FULL) */

    if (!rcu_state.nocb_is_setup)
    return;
    --
    2.25.1
    \
     
     \ /
      Last update: 2022-06-07 08:38    [W:3.216 / U:0.872 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site