[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87h85anj85.fsf@linutronix.de>
Date: Wed, 18 Sep 2019 09:42:34 +0200
From: John Ogness <john.ogness@...utronix.de>
To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Petr Mladek <pmladek@...e.com>,
Andrea Parri <parri.andrea@...il.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Brendan Higgins <brendanhiggins@...gle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
LKML <linux-kernel@...r.kernel.org>,
Theodore Ts'o <tytso@....edu>, Paul Turner <pjt@...gle.com>,
Daniel Vetter <daniel.vetter@...ll.ch>,
Prarit Bhargava <prarit@...hat.com>
Subject: Re: printk meeting at LPC
On 2019-09-18, Sergey Senozhatsky <sergey.senozhatsky.work@...il.com> wrote:
>> For instance, tty/sysrq must be able to switch printk emergency
>> on/off.
>
> How did we come up to that _sync() printk() emergency mode (when we
> make sure that there is no active printing kthread)? We had a number
> of cases (complaints) of lost kernel messages. There are scenarios in
> which we cannot offload to async preemptible printing kthread, because
> current control path is, for instance, going to reboot the kernel. In
> sync printk() mode we have some sort (!) of guarantees that when we do
>
> pr_emerg("Restarting system\n");
> kmsg_dump(KMSG_DUMP_RESTART);
> machine_restart(cmd);
>
> pr_emerg("Restarting system\n") is going to flush logbuf before the
> system will machine_restart().
Yes, this was why I asked Daniel how the bsod stuff will be
implemented. We don't want a bsod just because we are
restarting. Perhaps write_atomic() should also have a "reason" argument
like kmsg_dump does. I will keep in touch with Daniel to make sure we
are sync on this.
> It's going to be a bit harder when we have per-console kthread.
Each console has its own iterator. This iterators will need to advance,
regardless if the message was printed via write() or write_atomic().
John Ogness
Powered by blists - more mailing lists