Re: [RFC][PATCHv6 00/12] printk: introduce printing kernel thread

From: Tetsuo Handa
Date: Tue Jan 09 2018 - 17:08:37 EST


Tejun Heo wrote:
> The code might suck but I think this does replicate what we've been
> seeing regularly in the fleet. The console side is pretty slow - IPMI
> faithfully emulating serial console. I don't know it's doing 115200
> or even slower. Please consider something like the following.

Emulated serial consoles tend to be slow.

>
> * The kernel isn't preemptible. Machine runs out of memory, hits OOM
> condition. It starts printing OOM information.
>
> * Netconsole tries to send out OOM messages and tries memory
> allocation which fails which then prints allocation failed messages.
> Because this happens while already printing, it just queues the
> messages to the buffer. This repeats.

What? Does netconsole need to allocate memory when sending? I assume it does not.

>
> * We're still in the middle of OOM and hasn't killed nobody, so memory
> keeps being short and the printk ring buffer is continuously getting
> filled by the above. Also, after a bit, RCU stall warnings kick in
> too producing more messages.

And mutex_trylock(&oom_lock) keeps wasting CPU. :-(