Re: BUG: workqueue lockup - SRCU schedules work on not-online CPUs during size transition
From: Vasily Gorbik
Date: Wed Apr 29 2026 - 14:29:53 EST
On Wed, Apr 29, 2026 at 11:05:02AM -0700, Paul E. McKenney wrote:
> On Wed, Apr 29, 2026 at 07:50:31PM +0200, Vasily Gorbik wrote:
> > On Tue, Apr 14, 2026 at 12:24:12PM -0700, Paul E. McKenney wrote:
> > > On Thu, Apr 09, 2026 at 09:03:26PM -0700, Paul E. McKenney wrote:
> > > Please see below for the full patch, including refraining from queueing
> > > workqueue handlers on not-yet-online CPUs and diverting SRCU callbacks
> > > from not-yet-fully-online CPUs to the boot CPU's callback queue.
> > ...
> > > commit ce533a60b2ef29a9b516cc717e77c6b679bc09c0
> > > Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > > Date: Thu Apr 9 11:16:02 2026 -0700
> > >
> > > srcu: Don't queue workqueue handlers to never-online CPUs
> > >
...
> > >
> > > Reported-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
> > > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > > Tested-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
> > > Cc: Tejun Heo <tj@xxxxxxxxxx>
> >
> > I retested it on s390 and on x86 KVM with --smp 16,maxcpus=255, all
> > looks good to me.
> >
> > FWIW, again:
> >
> > Tested-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
> >
> > Would you mind adding Cc: stable so it gets picked up for v7.0?
> > 61bbcfb50514 ("srcu: Push srcu_node allocation to GP when
> > non-preemptible") is what made it reproducible for us.
> >
> > Thank you!
>
> And thank you for testing it, plus apologies for the hassle!
>
> At my next rebase, I will add the following:
>
> Fixes: 61bbcfb50514 ("srcu: Push srcu_node allocation to GP when non-preemptible")
> Tested-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
>
> That should pull it into the needed -stable releases.
>
> Seem reasonable?
Perfect, thanks Paul!