From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-f193.google.com ([209.85.210.193]:35415 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725764AbeLDKKp (ORCPT ); Tue, 4 Dec 2018 05:10:45 -0500 Date: Tue, 4 Dec 2018 19:10:40 +0900 From: Sergey Senozhatsky To: Feng Tang Cc: bp@suse.de, feng.tang@intel.com, keescook@chromium.org, mm-commits@vger.kernel.org, pmladek@suse.com, sergey.senozhatsky@gmail.com, stable@vger.kernel.org, tglx@linutronix.de, akpm@linux-foundation.org, peterz@infradead.org, rostedt@goodmis.org Subject: Re: + panic-avoid-the-extra-noise-dmesg.patch added to -mm tree Message-ID: <20181204100745.GA530@jagdpanzerIV> References: <20181204071531.z62N9NwXC%akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181204071531.z62N9NwXC%akpm@linux-foundation.org> Sender: stable-owner@vger.kernel.org List-ID: On (12/03/18 23:15), akpm@linux-foundation.org wrote: [..] > Feng Tang wrote: > [..] > > For people working in console mode, the screen will first show the panic > call stack, but immediately overridded by these noisy extra messages, which > makes debugging much more difficult, as the original context gets lost on > screen. > > Also these noisy messages will confuse some users, as I have seen many bug > reporters posted the noisy message into bugzilla, instead of the real panic > call stack and context. > > Removing the "local_irq_enable" will avoid the noisy message. > > The justification for the removing is: when code runs to this point, it > means user has chosed to not reboot, or do any special handling by using > the panic notifier method, no much point in re-enabling the interrupt. [..] > @@ -322,7 +322,6 @@ void panic(const char *fmt, ...) > } > #endif > pr_emerg("---[ end Kernel panic - not syncing: %s ]---\n", buf); > - local_irq_enable(); > for (i = 0; ; i += PANIC_TIMER_STEP) { > touch_softlockup_watchdog(); > if (i >= i_next) { Hmm, looking at 2.4 kernel: --- panic() --- ... sti(); for(;;) { #if defined(CONFIG_X86) && defined(CONFIG_VT) extern void panic_blink(void); panic_blink(); #endif CHECK_EMERGENCY_SYNC } ---------------- CHECK_EMERGENCY_SYNC is #define CHECK_EMERGENCY_SYNC \ if (emergency_sync_scheduled) \ do_emergency_sync(); And emergency_sync_scheduled is set by sysrq. I wonder if this is still the case - sysrq over serial, for instance, we want local irqs for that. -ss