Messages in this thread | | | From | Frederic Weisbecker <> | Subject | [PATCH 0/7] rcu: Fix expedited GP deadlock | Date | Fri, 12 Jan 2024 16:46:14 +0100 |
| |
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.
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
| |