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

Zqiang posted 2 patches 4 years, 3 months ago
kernel/rcu/tree_nocb.h | 85 ++++++++++++++++++++++++++++++++----------
1 file changed, 65 insertions(+), 20 deletions(-)
[PATCH v4 0/2] rcu: Deoffload rdp if rcuop/rcuog kthreads spawn failed
Posted by Zqiang 4 years, 3 months ago
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.

 v3->v4:
 Protect SEGCBLIST_KTHREAD_CB flags clear with rcu_nocb lock.

 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 | 85 ++++++++++++++++++++++++++++++++----------
 1 file changed, 65 insertions(+), 20 deletions(-)

-- 
2.25.1
Re: [PATCH v4 0/2] rcu: Deoffload rdp if rcuop/rcuog kthreads spawn failed
Posted by Frederic Weisbecker 4 years, 3 months ago
On Tue, Mar 22, 2022 at 09:17:51PM +0800, Zqiang wrote:
> 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.

Thanks! I'm queuing these. I might split things and reword a bit.
Also I'll put the second patch first, otherwise bisection will be
broken.