[PATCH] rcu: per-cpu rcuc kthread are created only when rcutree.use_softirq=0

From: Zqiang
Date: Tue Dec 28 2021 - 03:05:05 EST


In non-RT kernel, if the RCU_BOOST is enabled, the per-cpu rcuc
kthread will be created, however under the rcutree.use_softirq=1,
the RCU core processing only in softirq context, the rcuc kthread
doesn't do anything, so remove RCU_BOOST interference.

Signed-off-by: Zqiang <qiang1.zhang@xxxxxxxxx>
---
kernel/rcu/tree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 9b58bae0527a..ed64b4fcb8a0 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2902,7 +2902,7 @@ static int __init rcu_spawn_core_kthreads(void)

for_each_possible_cpu(cpu)
per_cpu(rcu_data.rcu_cpu_has_work, cpu) = 0;
- if (!IS_ENABLED(CONFIG_RCU_BOOST) && use_softirq)
+ if (use_softirq)
return 0;
WARN_ONCE(smpboot_register_percpu_thread(&rcu_cpu_thread_spec),
"%s: Could not start rcuc kthread, OOM is now expected behavior\n", __func__);
--
2.25.1