On Wed 2026-06-24 17:24:31, Sebastian Andrzej Siewior wrote:
On 2026-06-24 11:17:31 [+0200], Petr Mladek wrote:
quoted
For Linus, it was a no-go, definitely.
…
quoted
I would vote for adding the WARN_*DEFERRED() into the scheduler code
at least until majority of console drivers are converted to nbcon API.
I see four nbcon serial console drivers (+netconsole, + drm_log). We
have at least four times that many console drivers. What is the
majority from your point of view? The 8250 should cover all of x86.
Good question. IMHO, there are about 100 console drivers:
$> git grep "struct console.*= {" | wc -l
107
But I guess that many of them are some old rarely used ones.
I tried to google amount of market share from various architectures
and it seems that most spread are: arm, x86_64, and risc-v.
Arm might already be mostly covered by pl011.
x86_64 will be covered by 8250.
I am not sure about risc-v. It seems that it might use 8250 as well
at least in virtual machines. Also there is drivers/tty/hvc/hvc_riscv_sbi.c.
Hmm, 8250 might the breakpoint. Maybe, we could leave the rest as a
motivation to convert the console driver instead of adding workarounds
using the printk_deferred() mechanism.
That said, AFAIK, the netconsole is often used when the device does
not have a serial console. And it is pity that it does not have
the .write_atomic callbacks implemented.
Best Regards,
Petr