On Fri, Dec 08, 2023 at 11:05:37PM +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. The torture.sh "acceptance test" with KCSAN and --duration 30 ran fine except for this in TREE09: kernel/rcu/tree_nocb.h:1785:13: error: unused function '__call_rcu_nocb_wake' [-Werror,-Wunused-function] My guess is that the declaration of __call_rcu_nocb_wake() in kernel/rcu/tree.h needs an "#ifdef CONFIG_SMP", but you might have a better fix. Thanx, Paul > Frederic Weisbecker (8): > rcu/nocb: Make IRQs disablement symetric > rcu/nocb: Re-arrange call_rcu() NOCB specific code > 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: 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 | 222 +++++++++++++++++++++++++-------------- > kernel/rcu/tree.h | 12 +-- > kernel/rcu/tree_exp.h | 81 +++----------- > kernel/rcu/tree_nocb.h | 38 ++++--- > kernel/rcu/tree_plugin.h | 52 ++------- > 6 files changed, 191 insertions(+), 219 deletions(-) > > -- > 2.42.1 >