On Fri, Feb 19, 2021 at 02:36:07PM -0500, Steven Rostedt wrote: > On Thu, 18 Feb 2021 23:29:23 +0900 > Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > > > Commit 36dadef23fcc ("kprobes: Init kprobes in early_initcall") > > moved the kprobe setup in early_initcall(), which includes kprobe > > jump optimization. > > The kprobes jump optimizer involves synchronize_rcu_tasks() which > > depends on the ksoftirqd and rcu_spawn_tasks_*(). However, since > > those are setup in core_initcall(), kprobes jump optimizer can not > > run at the early_initcall(). > > > > To avoid this issue, make the kprobe optimization disabled in the > > early_initcall() and enables it in subsys_initcall(). > > > > Note that non-optimized kprobes is still available after > > early_initcall(). Only jump optimization is delayed. > > > > Fixes: 36dadef23fcc ("kprobes: Init kprobes in early_initcall") > > Reported-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx > > --- > > I pulled this into my queue to be tested, and when that completes > (hopefully without failure), I'll add this to my pull request for the > current merge window (which I still need to send). Thank you, Steve! Could you please add the following Reported-by tags? Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Reported-by: Uladzislau Rezki <urezki@xxxxxxxxx> Sebastian first noticed the problem, and Uladzislau figured out how softirqs were involved. Thanx, Paul