Thread (5 messages) 5 messages, 2 authors, 2024-10-21

Re: [PATCH] powerpc/crash: Allow direct printing on kexec

From: Ryo Takakura <hidden>
Date: 2024-10-21 12:12:05
Also in: lkml

Hi John!

On 2024-10-20, John Ogness [off-list ref] wrote:
On 2024-10-20, Ryo Takakura [off-list ref] wrote:
quoted
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.fsf@jogness.linutronix.de/ (local)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help