On Fri, Sep 04, 2026 at 06:28:45PM +0100, Bradley Morgan wrote: > On 4 September 2026 17:00:22 BST, "Paul E. McKenney" <[email protected]> > wrote: > >On Fri, Sep 04, 2026 at 09:01:05AM -0400, Mathieu Desnoyers wrote: > >> On 2026-08-03 20:03, Bradley Morgan wrote: > >> > The do_pending kthread never sleeps. Its supposed to. > >> > kthread_do_pending_ms sets the gap between cleanups, and the docs > >> > say so too. But the sleep sits behind torture_must_stop(), and thats > >> > false while the test runs. So the kthread never sleeps. It just loops. > >> > It drains the pending lists over and over, no pause, and burns a full > >> > CPU for the whole test. > >> > >> Paul, I just found this patch in my junk email folder. Maybe relevant > >> for you ? > > > >We got it in my -rcu tree: > > > >15b9fca2f5ce ("hazptrtorture: Fix inverted sleep condition in do_pending > >kthread") > > > >But I do appreciate your checking for missed patches, thank you! > > > > Thanx, Paul > > > >> Thanks, > >> > >> Mathieu > >> > >> > > >> > Flip the check. With !torture_must_stop() it sleeps for > >> > kthread_do_pending_ms between passes. When the test stops it does one > >> > last cleanup and exits. Nothing left to do, so no sleep needed then. > >> > > >> > Fixes: 94d2e93c222e ("hazptrtorture: Add kthread to release deferred > >hazard pointers") > >> > Signed-off-by: Bradley Morgan <[email protected]> > >> > --- > >> > kernel/rcu/hazptrtorture.c | 2 +- > >> > 1 file changed, 1 insertion(+), 1 deletion(-) > >> > > >> > diff --git a/kernel/rcu/hazptrtorture.c b/kernel/rcu/hazptrtorture.c > >> > index 72aeb50668e9..7c8b5899fb01 100644 > >> > --- a/kernel/rcu/hazptrtorture.c > >> > +++ b/kernel/rcu/hazptrtorture.c > >> > @@ -555,7 +555,7 @@ static int hazptr_torture_do_pending(void *arg) > >> > cpu = cpumask_next_wrap(cpu, cpu_possible_mask); > >> > hazptr_torture_do_one_pending(cpu, &rand); > >> > } > >> > - if (torture_must_stop()) > >> > + if (!torture_must_stop()) > >> > torture_hrtimeout_ms(kthread_do_pending_ms, > >> > USEC_PER_MSEC, &rand); > >> > // Omit stutter_wait() because this function needs to > >> > do cleanup. > >> > } while (!torture_must_stop()); > >> > >> > >> -- > >> Mathieu Desnoyers > >> EfficiOS Inc. > >> https://www.efficios.com > > > > > Hi, new email. > > Could I ask where the heck hazptr is? Its not in next, would you like, > help??? > > --- Thanks! > https://lore.kernel.org/all/[email protected]/
It is still in my -rcu tree. I would not say "no" to a fix for this issue: https://lore.kernel.org/all/[email protected]/ Once that is in place, I would be happy to put this back into -next. At some point, we will need to get rid of the concept of wildcard hazard pointers, as those end up instead emulating RCU, but I don't see that as an immediate obstacle. Thanx, Paul

