On Sun, 11 Nov 2018 21:16:00 +0100 Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx> wrote: > > This is a v4.19.1-rt3-based kernel. > > > > The WARN_ON() is: > > > > 362 void netpoll_send_udp(struct netpoll *np, const char *msg, int len) > > 363 { > > … > > 372 WARN_ON_ONCE(!irqs_disabled()); > > … > > > > If that matters, I have "threadirqs" passed to the kernel. > > > > Netconsole seems to work even after this warning. Is this OK/expected? > > > > Thanks. > > Oh, I see that write_msg() calls netpoll_send_udp() under > spin_lock_irqsave(), but in PREEMPT_RT this, AFAIK, does not disable > interrupts. > > So, the real question here is whether the interrupts should be indeed > disabled. And if so, -rt should replace spin_lock_irqsave() call there > with what? local_irq_save()? and get rid of the warning? > Why do we care if interrupts are disabled with PREEMPT_RT here? printk() itself has a lot of issues with PREEMPT_RT that we are working on dealing with. Right now netconsole is actually at the end of that todo list. -- Steve