Re: [PATCH printk v5 1/1] printk: extend console_lock for per-console locking

From: Geert Uytterhoeven
Date: Wed Jun 22 2022 - 05:03:29 EST


Hi John,

On Tue, Apr 26, 2022 at 10:50 AM John Ogness <john.ogness@xxxxxxxxxxxxx> wrote:
> Currently threaded console printers synchronize against each
> other using console_lock(). However, different console drivers
> are unrelated and do not require any synchronization between
> each other. Removing the synchronization between the threaded
> console printers will allow each console to print at its own
> speed.

[...]

> Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>

Thanks for your patch, which is now commit 8e274732115f63c1
("printk: extend console_lock for per-console locking") in
v5.19-rc1.

I have bisected another intriguing issue to this commit: on SiPEED
MAiX BiT (Canaan K210 riscv), it no longer prints the line detecting
ttySIF0, i.e. the console output changes like:

spi-nor spi1.0: gd25lq128d (16384 Kbytes)
i2c_dev: i2c /dev entries driver
k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller
-38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud =
115200) is a SiFive UART v0
printk: console [ttySIF0] enabled
printk: bootconsole [sifive0] disabled
printk: console [ttySIF0] printing thread started

As this patch does not make any changes to drivers/tty/, and ttySIF0
does work (it's the console), I looked in /proc/kmsg, and bingo,
the missing line is there, so it is generated, but never printed.

I tried taking the port spinlock in sifive_serial_startup(), as
suggested for the meson driver, but that doesn't make a difference.

Do you have a clue?
Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds