Messages in this thread | | | Date | Fri, 05 Nov 2021 01:54:44 +1000 | From | Nicholas Piggin <> | Subject | Removal of printk safe buffers delays NMI context printk |
| |
Hi John,
It seems printk from NMI context is now delayed indefinitely and there is no printk_safe_flush equivalent (or I can't see one) to allow a NMI buffer to be flushed by a different CPU.
This causes hard lockup watchdog messages to not get shown on the console. I can call printk from a different CPU and that seems to flush the stuck CPU's NMI buffer immediately.
What's the best way to expose this? Can we have something like tihs?
void printk_flush(void) { preempt_disable(); if (console_trylock_spinning()) console_unlock(); preempt_enable(); wake_up_klogd(); }
Thanks, Nick
| |