All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Petr Mladek <pmladek@suse.com>, Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Eric Biederman <ebiederm@xmission.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>, Len Brown <len.brown@intel.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCHv2 2/8] printk: introduce printing kernel thread
Date: Fri, 7 Apr 2017 14:06:42 +0200	[thread overview]
Message-ID: <20170407120642.GB4756@amd> (raw)
In-Reply-To: <20170407081546.GD1091@jagdpanzerIV.localdomain>

[-- Attachment #1: Type: text/plain, Size: 2178 bytes --]

Hi!

> On (04/07/17 09:21), Pavel Machek wrote:
> > > spin_dump() and trigger_all_cpu_backtrace() result in a bunch of
> > > additional printk()-s so CPU0 has even more job to do in console_unlock(),
> > > while it still holds the contended spin_lock. and so on; there are
> > > many other examples.
> > > 
> > > so should we declare a "we can spend only 2 seconds in direct printk()
> > > and then must offload printing" rule? I don't think it's much better
> > > than a simpler "we always offload, as long as we think it's safe".
> > 
> > I believe we should do the 2 seconds rule. It allows us to print "some
> > messages delayed" message, so at least whoever is trying to debug the
> > crash will have the hints that he needs to look at the printk system.
> 
> do you mean panic()? in panic() we call console_flush_on_panic(),
> which immediately outputs all pending logbuf messages. printk()
> offloading does not happen there.

Not panic(). I have seen many crashes where we had printk(KERN_ERR)
and then hard hang. And the printk() was really important for debugging.

> > "we always offload, as long as we think it's safe" rule does not
> > really work, as printk() can not detect if it is safe or not.
> 
> but "2 seconds" rule has that "as long as we think it's safe" string
> attached as well. just because we do offloading. which is sometimes
> un-safe. so regardless the timeout value (0 seconds or 2 seconds) we
> still need some sort of a hint from the path that issues printk()
> because that path (panic, kexec, sysrq, etc.) knows for sure when
> things are abnormal. printk() is pretty clueless in this regard.
> /* well, I still think that EMERG loglevel thing is not completely
>  broken. */

Well, at least with my solution you know there are messages that were
not printed.

Yes, you'd still want to switch printk_now() for stuff like
panic(). But if you get it wrong (and you will), at least you will see
the "something is missing here" message in the log. 

								Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2017-04-07 12:06 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-29  9:25 [RFC][PATCHv2 0/8] printk: introduce printing kernel thread Sergey Senozhatsky
2017-03-29  9:25 ` [RFC][PATCHv2 1/8] printk: move printk_pending out of per-cpu Sergey Senozhatsky
2017-03-31 13:09   ` Petr Mladek
2017-03-31 13:33     ` Peter Zijlstra
2017-04-03 11:23       ` Sergey Senozhatsky
2017-04-03 12:43         ` Petr Mladek
2017-03-29  9:25 ` [RFC][PATCHv2 2/8] printk: introduce printing kernel thread Sergey Senozhatsky
2017-04-04  9:01   ` Petr Mladek
2017-04-04  9:36     ` Sergey Senozhatsky
2017-04-06 17:14   ` Pavel Machek
2017-04-07  5:12     ` Sergey Senozhatsky
2017-04-07  7:21       ` Pavel Machek
2017-04-07  8:15         ` Sergey Senozhatsky
2017-04-07 12:06           ` Pavel Machek [this message]
2017-03-29  9:25 ` [RFC][PATCHv2 3/8] printk: offload printing from wake_up_klogd_work_func() Sergey Senozhatsky
2017-03-31 14:56   ` Petr Mladek
2017-04-04 16:15     ` Sergey Senozhatsky
2017-03-29  9:25 ` [RFC][PATCHv2 4/8] pm: switch to printk.emergency mode in unsafe places Sergey Senozhatsky
2017-03-31 15:06   ` Petr Mladek
2017-04-06 17:20   ` Pavel Machek
2017-04-09 10:59     ` Andreas Mohr
2017-04-10 12:20       ` Petr Mladek
2017-04-10 14:38         ` Sergey Senozhatsky
2017-03-29  9:25 ` [RFC][PATCHv2 5/8] sysrq: " Sergey Senozhatsky
2017-03-31 15:37   ` Petr Mladek
2017-04-01  0:04     ` Sergey Senozhatsky
2017-03-29  9:25 ` [RFC][PATCHv2 6/8] kexec: " Sergey Senozhatsky
2017-03-31 15:39   ` Petr Mladek
2017-03-29  9:25 ` [RFC][PATCHv2 7/8] printk: add printk emergency_mode parameter Sergey Senozhatsky
2017-04-03 15:29   ` Petr Mladek
2017-04-04  8:29     ` Sergey Senozhatsky
2017-03-29  9:25 ` [RFC][PATCHv2 8/8] printk: enable printk offloading Sergey Senozhatsky
2017-03-30 21:38   ` [printk] fbc14616f4: BUG:kernel_reboot-without-warning_in_test_stage kernel test robot
2017-03-30 21:38     ` kernel test robot
2017-03-31  2:35     ` Sergey Senozhatsky
2017-03-31  2:35       ` Sergey Senozhatsky
2017-03-31  4:04       ` Sergey Senozhatsky
2017-03-31  4:04         ` Sergey Senozhatsky
2017-03-31  6:39         ` Ye Xiaolong
2017-03-31  6:39           ` Ye Xiaolong
2017-03-31 14:47           ` Sergey Senozhatsky
2017-03-31 14:47             ` Sergey Senozhatsky
2017-03-31 15:28             ` Eric W. Biederman
2017-03-31 15:28               ` Eric W. Biederman
2017-04-03  9:31               ` Jan Kara
2017-04-03  9:31                 ` Jan Kara
2017-04-03 10:06                 ` Petr Mladek
2017-04-03 10:06                   ` Petr Mladek
2017-04-06 17:33                 ` Pavel Machek
2017-04-06 17:33                   ` Pavel Machek
2017-04-07  4:44                   ` Sergey Senozhatsky
2017-04-07  4:44                     ` Sergey Senozhatsky
2017-04-07  7:15                     ` Pavel Machek
2017-04-07  7:15                       ` Pavel Machek
2017-04-07  7:46                       ` Sergey Senozhatsky
2017-04-07  7:46                         ` Sergey Senozhatsky
2017-04-07  8:14                         ` Pavel Machek
2017-04-07  8:14                           ` Pavel Machek
2017-04-07 12:10                           ` Sergey Senozhatsky
2017-04-07 12:10                             ` Sergey Senozhatsky
2017-04-07 12:44                             ` Pavel Machek
2017-04-07 12:44                               ` Pavel Machek
2017-04-07 14:40                               ` Steven Rostedt
2017-04-07 14:40                                 ` Steven Rostedt
2017-05-08  6:37                                 ` Sergey Senozhatsky
2017-05-08  6:37                                   ` Sergey Senozhatsky
2017-05-17 13:13                                   ` Petr Mladek
2017-05-17 13:13                                     ` Petr Mladek
2017-04-07 15:13                               ` Sergey Senozhatsky
2017-04-07 15:13                                 ` Sergey Senozhatsky
2017-04-07 15:23                                 ` Peter Zijlstra
2017-04-07 15:23                                   ` Peter Zijlstra
2017-04-07 15:40                                   ` Sergey Senozhatsky
2017-04-07 15:40                                     ` Sergey Senozhatsky
2017-04-09 18:21                                     ` Eric W. Biederman
2017-04-09 18:21                                       ` Eric W. Biederman
2017-04-10  4:46                                       ` Sergey Senozhatsky
2017-04-10  4:46                                         ` Sergey Senozhatsky
2017-04-09 10:12                                 ` Pavel Machek
2017-04-09 10:12                                   ` Pavel Machek
2017-04-10  4:53                                   ` Sergey Senozhatsky
2017-04-10  4:53                                     ` Sergey Senozhatsky
2017-04-10 11:54                                     ` Petr Mladek
2017-04-10 11:54                                       ` Petr Mladek
2017-04-10 15:08                                       ` Sergey Senozhatsky
2017-04-10 15:08                                         ` Sergey Senozhatsky
2017-04-10 18:48                                     ` Pavel Machek
2017-04-10 18:48                                       ` Pavel Machek
2017-04-11  1:46                                       ` Sergey Senozhatsky
2017-04-11  1:46                                         ` Sergey Senozhatsky
2017-04-11 16:19                                         ` Sergey Senozhatsky
2017-04-12 18:43                                           ` Pavel Machek
2017-04-13  4:34                                             ` Sergey Senozhatsky
2017-04-13  5:50                                           ` Sergey Senozhatsky
2017-04-13  8:19                                             ` Sergey Senozhatsky
2017-04-13 14:03                                           ` Petr Mladek
2017-04-14  4:42                                             ` Sergey Senozhatsky
2017-04-07 14:29                           ` Steven Rostedt
2017-04-07 14:29                             ` Steven Rostedt
2017-04-09  9:57                             ` Pavel Machek
2017-04-09  9:57                               ` Pavel Machek
2017-04-03 10:51               ` Sergey Senozhatsky
2017-04-03 10:51                 ` Sergey Senozhatsky
2017-04-05  7:29           ` Ye Xiaolong
2017-04-05  7:29             ` Ye Xiaolong
2017-04-05  8:40             ` Sergey Senozhatsky
2017-04-05  8:40               ` Sergey Senozhatsky
2017-04-03 15:42   ` [RFC][PATCHv2 8/8] printk: enable printk offloading Petr Mladek
2017-04-04 13:20     ` Sergey Senozhatsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170407120642.GB4756@amd \
    --to=pavel@ucw.cz \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jack@suse.cz \
    --cc=jslaby@suse.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=pmladek@suse.com \
    --cc=rjw@rjwysocki.net \
    --cc=rostedt@goodmis.org \
    --cc=sergey.senozhatsky.work@gmail.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.