Re: [PATCH 0/7] rcu: Fix expedited GP deadlock

From: Paul E. McKenney
Date: Tue Jan 16 2024 - 14:12:13 EST


On Fri, Jan 12, 2024 at 04:46:14PM +0100, Frederic Weisbecker wrote:
> TREE04 can trigger a writer stall if run with memory pressure. This
> is due to a circular dependency between waiting for expedited grace
> period and polling on expedited grace period when workqueues go back
> to mayday serialization.
>
> Here is a proposal fix.
>
> Changes since v2 (no functional changes, just renames and reorganization):
>
> _ Move nocb cleanups to their own series
> _ Rename can_queue parameter to use_worker [2/7]
> _ Better explain the rename of the mutex [3/7]
> _ New commit with just code move to ease review [4/7]
> _ Comment declaration of the new rnp->exp_worker field [5/7]
>
> Thanks.

Hearing no objections, queued for testing and further review,
thank you!

Thanx, Paul

> Frederic Weisbecker (7):
> rcu/exp: Fix RCU expedited parallel grace period kworker allocation
> failure recovery
> rcu/exp: Handle RCU expedited grace period kworker allocation failure
> rcu: s/boost_kthread_mutex/kthread_mutex
> rcu/exp: Move expedited kthread worker creation functions above
> rcutree_prepare_cpu()
> rcu/exp: Make parallel exp gp kworker per rcu node
> rcu/exp: Handle parallel exp gp kworkers affinity
> rcu/exp: Remove rcu_par_gp_wq
>
> kernel/rcu/rcu.h | 5 --
> kernel/rcu/tree.c | 175 +++++++++++++++++++++++++++------------
> kernel/rcu/tree.h | 11 ++-
> kernel/rcu/tree_exp.h | 78 +++--------------
> kernel/rcu/tree_plugin.h | 52 ++----------
> 5 files changed, 142 insertions(+), 179 deletions(-)
>
> --
> 2.34.1
>
>