On 5 September 2026 23:54:38 BST, "Paul E. McKenney" <[email protected]> wrote: >On Sat, Sep 05, 2026 at 10:08:30PM +0100, Bradley Morgan wrote: >> On 5 September 2026 21:40:28 BST, "Paul E. McKenney" ><[email protected]> >> wrote: >> >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. >> >> Well, okay, tell me more and I'll develop it. > >I must confess that I have not looked much into that bug report, so I >don't have much more to tell.
No, like the getting rid of wildcard hazptrs? > > Thanx, Paul > >> --- Thanks! >> >https://lore.kernel.org/all/[email protected]/ >> --- Thanks! https://lore.kernel.org/all/[email protected]/

