Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Feng Tang <feng.tang@intel.com>
To: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Petr Mladek <pmladek@suse.com>,
	akpm@linux-foundation.org, bp@suse.de, keescook@chromium.org,
	mm-commits@vger.kernel.org, sergey.senozhatsky@gmail.com,
	stable@vger.kernel.org, tglx@linutronix.de,
	Steven Rostedt <rostedt@goodmis.org>,
	Sasha Levin <sashal@kernel.org>, Andi Kleen <ak@linux.intel.com>
Subject: Re: + panic-avoid-the-extra-noise-dmesg.patch added to -mm tree
Date: Thu, 6 Dec 2018 11:58:25 +0800	[thread overview]
Message-ID: <20181206035825.jz2bfh3errj23rjq@shbuild888> (raw)
In-Reply-To: <20181205154620.4dqtledc2duhrp2c@shbuild888>

On Wed, Dec 05, 2018 at 11:46:20PM +0800, Feng Tang wrote:
> On Wed, Dec 05, 2018 at 05:00:44PM +0900, Sergey Senozhatsky wrote:
> > On (12/05/18 14:29), Sergey Senozhatsky wrote:
> > > On (12/05/18 11:57), Sergey Senozhatsky wrote:
> > > > On (12/05/18 10:47), Feng Tang wrote:
> > >
> > > OK... So, apparently, what's happening is panic() calls smp_send_stop().
> > > And smp_send_stop()->native_stop_other_cpus() on x86 disables local APIC.
> > > So no fun anymore.
> > >
> > > If I keep APIC enabled on panic CPU, then I have my keyboard working,
> > > including PageUp-PageDown scrolling, sysrq handling, and so on.
> > 
> > Meeh, it's much harder than this. Worked on one machine only.
> 
> Same here, I tried on several platforms and hardly get the sysrq magic key
> working, though it works while system is running.
> 
> And it make me wondering if those workqueue dependent led blinking code
> can still really work.

Also, IMHO, if we need a panic blink method, it should better be simple
and robust with only HW registers access plus delay function, as I'm not
sure if the scheduling can still work. 

Anyway, can I propose to make the "local_irq_enable" conditional and off
by default, and add a warning.

@@ -295,7 +295,10 @@ void panic(const char *fmt, ...)
 	}
 #endif
 	pr_emerg("---[ end Kernel panic - not syncing: %s ]---\n", buf);
-	local_irq_enable();
+	if (panic_keep_irq_on)
+		local_irq_enable();
+	else
+		pr_emerg("Please add panic_keep_irq_on to cmdline, if you want blink/sysrq work");
 	for (i = 0; ; i += PANIC_TIMER_STEP) {
 		touch_softlockup_watchdog();
 		if (i >= i_next) {

Any comments? thanks!

- Feng

> 
> > 
> > > PeterZ,
> > >   for those folks who sometimes have to use framebuffer for debugging
> > >   (just a trivial "let me scrollback and see the panic backtrace") and
> > >   not always have access to serial console, can we have local APIC
> > >   enabled on the panic_cpu? Or is it a terrible thing to ask for?
> > 
> > The question remains: can we have input irqs on panic_cpu after panic?
> 
> With current kernel, the irq is still enabled for the panic CPU, I did
> see timer and some device's ISR get called, but they will only fire IRQ
> one time after panic triggered.
> 

  reply	other threads:[~2018-12-06  3:58 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04  7:15 + panic-avoid-the-extra-noise-dmesg.patch added to -mm tree akpm
2018-12-04 10:10 ` Sergey Senozhatsky
2018-12-04 10:20 ` Petr Mladek
2018-12-04 15:49   ` Feng Tang
2018-12-04 16:01     ` Petr Mladek
2018-12-05  1:53       ` Feng Tang
2018-12-05  2:50         ` Sergey Senozhatsky
2018-12-05  3:05           ` Sergey Senozhatsky
2018-12-05  3:27             ` Feng Tang
2018-12-05  2:26     ` Sergey Senozhatsky
2018-12-05  2:47       ` Feng Tang
2018-12-05  2:57         ` Sergey Senozhatsky
2018-12-05  5:29           ` Sergey Senozhatsky
2018-12-05  8:00             ` Sergey Senozhatsky
2018-12-05 15:46               ` Feng Tang
2018-12-06  3:58                 ` Feng Tang [this message]
2018-12-07  9:50                   ` Sergey Senozhatsky
2018-12-10  9:45                     ` Feng Tang
2018-12-10 15:57                       ` Petr Mladek
2018-12-11  8:07                         ` Sergey Senozhatsky
2018-12-11  8:22                           ` Petr Mladek
2018-12-11  8:26                             ` Sergey Senozhatsky
2018-12-11  8:32                           ` Feng Tang
2018-12-11  9:08                             ` Sergey Senozhatsky
2018-12-11  8:00                       ` 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=20181206035825.jz2bfh3errj23rjq@shbuild888 \
    --to=feng.tang@intel.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=bp@suse.de \
    --cc=keescook@chromium.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=sashal@kernel.org \
    --cc=sergey.senozhatsky.work@gmail.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox