Thread (5 messages) 5 messages, 3 authors, 2018-11-30

Re: WARN_ON() in netconsole with PREEMPT_RT

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2018-11-12 02:01:08
Also in: linux-rt-users, lkml

On Sun, 11 Nov 2018 21:16:00 +0100
Oleksandr Natalenko [off-list ref] wrote:

quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help