[PATCH v3 0/2] rcu: Deoffload rdp if rcuop/rcuog kthreads spawn failed

From: Zqiang
Date: Fri Mar 18 2022 - 04:06:55 EST


When CONFIG_RCU_NOCB_CPU is enabled and 'rcu_nocbs' is set, the rcuop
and rcuog kthreads is created. however the rcuop or rcuog kthreads
creation may fail, if failed, deoffload the offloaded rdp.

---
v1->v2:
Invert the locking dependency order between rcu_state.barrier_mutex
and hotplug lock.

Holding nocb_gp_kthread_mutex, ensure that the nocb_gp_kthread exists.

v2->v3:
Adjust the position of the nocb_gp_kthread_mutex, in rdp_gp->nocb_gp_kthread
check upper lock nocb_gp_kthread_mutex.

Do the locking order change in a separate patch.

Zqiang(2):
rcu: Call rcu_nocb_rdp_deoffload() directly after rcuog/op kthreads spawn failed
rcu: Invert the locking dependency order between rcu_state.barrier_mutex and hotplug lock

kernel/rcu/tree_nocb.h | 83 ++++++++++++++++++++++++++++++++----------
1 file changed, 63 insertions(+), 20 deletions(-)

--
2.25.1