Re: [PATCH] rcu: Use IRQ_WORK_INIT_HARD for srcu's irq_work
Steven Rostedt <[email protected]>
| Newsgroups | org.kernel.vger.rcu,dev.linux.lists.linux-rt-devel |
|---|---|
| Message-ID | <20260820130028.2243d53c@fedora> |
On Thu, 20 Aug 2026 15:55:00 +0200 Sebastian Andrzej Siewior <[email protected]> wrote: > > > diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c > > > index 7c2f7cc131f7a..b703233d4a63f 100644 > > > --- a/kernel/rcu/srcutree.c > > > +++ b/kernel/rcu/srcutree.c > > > @@ -218,7 +218,7 @@ static int init_srcu_struct_fields(struct srcu_struct *ssp, bool is_static) > > > mutex_init(&ssp->srcu_sup->srcu_barrier_mutex); > > > atomic_set(&ssp->srcu_sup->srcu_barrier_cpu_cnt, 0); > > > INIT_DELAYED_WORK(&ssp->srcu_sup->work, process_srcu); > > > - init_irq_work(&ssp->srcu_sup->irq_work, srcu_irq_work); > > > + ssp->srcu_sup->irq_work = IRQ_WORK_INIT_HARD(srcu_irq_work); > > > > It may need a comment to not lose that. I agree a comment would be useful here. > > We could also make irq_work.o earlier in the Makefile, right at the top > so it comes before tracing. This was one of the first ideas and makes > the issue also go away. But given that it is just a wake we avoid waking > the irq_work/ thread just to schedule a timer/ wake workqueue. That doesn't sound as robust as this solution. Updating Makefile order is a fragile solution. Anyway for this patch, Reviewed-by: Steven Rostedt <[email protected]. -- Steve