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. :-(