nit: s/prinkt/printk I make that typo so often :P On Thu, Jun 20, 2024 at 11:43:00AM GMT, Sebastian Andrzej Siewior wrote: > Constant printing can lead to a CPU hog in nbcon_kthread_func(). The > context is preemptible but on !PREEMPT kernels there is no explicit > preemption point which leads softlockup warnings. > > Add an explicit preemption point in nbcon_kthread_func(). > > Reported-by: Derek Barbosa <debarbos@xxxxxxxxxx> Acked-by: Andrew Halaney <ahalaney@xxxxxxxxxx> Tested-by: Andrew Halaney <ahalaney@xxxxxxxxxx> This survived a bunch of tests that normally would cause some lockups etc in PREEMPT_VOLUNTARY systems. I can see that the nbcon thread successfully migrated NUMA nodes etc during periods of overwhelming the console backlog successfully, which without this would not work prior. Thanks! > Link: https://lore.kernel.org/ZnHF5j1DUDjN1kkq@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > kernel/printk/nbcon.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/printk/nbcon.c b/kernel/printk/nbcon.c > index bb9689f94d302..0813ce88a49c5 100644 > --- a/kernel/printk/nbcon.c > +++ b/kernel/printk/nbcon.c > @@ -1119,6 +1119,7 @@ static int nbcon_kthread_func(void *__console) > } > > console_srcu_read_unlock(cookie); > + cond_resched(); > > } while (backlog); > > -- > 2.45.2 >