|
@@ -2479,9 +2479,10 @@ static void __init rcu_spawn_nocb_kthreads(struct rcu_state *rsp)
|
|
|
|
|
|
if (rcu_nocb_mask == NULL)
|
|
if (rcu_nocb_mask == NULL)
|
|
return;
|
|
return;
|
|
-#ifdef CONFIG_NO_HZ_FULL
|
|
|
|
- cpumask_or(rcu_nocb_mask, rcu_nocb_mask, tick_nohz_full_mask);
|
|
|
|
-#endif /* #ifdef CONFIG_NO_HZ_FULL */
|
|
|
|
|
|
+#if defined(CONFIG_NO_HZ_FULL) && !defined(CONFIG_NO_HZ_FULL_ALL)
|
|
|
|
+ if (tick_nohz_full_running)
|
|
|
|
+ cpumask_or(rcu_nocb_mask, rcu_nocb_mask, tick_nohz_full_mask);
|
|
|
|
+#endif /* #if defined(CONFIG_NO_HZ_FULL) && !defined(CONFIG_NO_HZ_FULL_ALL) */
|
|
if (ls == -1) {
|
|
if (ls == -1) {
|
|
ls = int_sqrt(nr_cpu_ids);
|
|
ls = int_sqrt(nr_cpu_ids);
|
|
rcu_nocb_leader_stride = ls;
|
|
rcu_nocb_leader_stride = ls;
|