Hi John! On 2024-10-20, John Ogness <john.ogn...@linutronix.de> wrote: >On 2024-10-20, Ryo Takakura <ryotkk...@gmail.com> wrote: >> Let legacy consoles print directly so that we can see messages on kexec, as >> the commit b6cf8b3f3312 ("printk: add lockless ringbuffer") turned printk >> ring buffer lockless and there should be no worries panicked CPU >> deadlocking writing into ringbuffer after shutting down non-panicked CPU. > >It is correct that the ringbuffer is now lockless. But the legacy >console drivers are not. Allowing them to print directly in panic can >lead to similar effects that commit af2876b501e4 ("powerpc/crash: Use >NMI context for printk when starting to crash") was working around.
Oh I see. I wasn't taking the locks acquired by console drivers into account... Thanks once again for the feedback! >Note that although printk is deferred, it is only the printing that is >deferred. The messages are landing in the ringbuffer immediately. So >they would be available to kdump and crash kernels. I also agree to rather skip printing and leave it to kdump and crash kernels considering the chance of pointed out risk on panic. >Rather than removing the deferring, it would be better to convert the >console you are using to the new NBCON API. Then it would be able to >print direct and safe during panic. (printk_deferred does not affect >NBCON consoles.) What console driver are you using that you want to see >the messages on? I was working on qemu ppc64 this time but I am usually working on Raspberry Pi 4 (mostly for fun and study) which uses either of bcm2835-aux-uart or amba-pl011. It would be really nice to see them working as nbcon! I am thinking of taking a look at [0] but If there were any other references, I would really like to look into as well. >John Ogness Sincerely, Ryo Takakura [0] https://lore.kernel.org/lkml/87wn3zsz5x....@jogness.linutronix.de/