Re: [PATCH 2/2] panic: Enable to print out all printk msg in buffer

From: Petr Mladek
Date: Wed Apr 10 2019 - 04:02:28 EST


On Wed 2019-04-10 10:59:26, Sergey Senozhatsky wrote:
> On (04/09/19 16:14), Petr Mladek wrote:
> > We should:
> >
> > + Flush the latest messages before we replay the log.
>
> Do you mean the pending messages? When we replay the log we also should
> print "header line" and panic-cpu backtrace. So we will print panic-cpu
> oops twice

console_flush_on_panic() is just the last resort. I believe
that the panic header and backtrace reach the console even
without it in most cases. Explicit flush before reply
would just make it consistent.

> // from panic-cpu flush_on_panic
> [header]
> backtrace
> [end of header]
>
> // from console_replay
> then all logbuf messages
> and then the same header/backtrace one more time
>
> [header]
> backtrace]
> [end of backtrace]
>
> Is there any particular reason to flush pending messages before
> we play the buffer? Replaying the logbuf can take some time, so
> my guess would be that you want to print panic-cpu backtrace as
> soon as possible. Is there something else?

The panic() message is usually the most important one for debugging.
I feel a bit uneasy that we would delay it until full replay that
might get killed from several reasons:

+ external monitoring system would force reboot

+ user might realize, e.g. after 20 minutes, that the full
log reply was probably not worth it.

I understand that people enabling this option would most likely
wait but still. I do not see it as a big deal to repeat
the messages.

Best Regards,
Petr