Messages in this thread | | | Date | Mon, 26 Nov 2018 15:59:52 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH v2] panic: Avoid the extra noise dmesg |
| |
On Thu, 8 Nov 2018 21:05:03 +0800 Feng Tang <feng.tang@intel.com> wrote:
> Sometimes when debugging kernel panic, we saw many extra noisy error > messages after the expected end: > > [ 35.743249] ---[ end Kernel panic - not syncing: Fatal exception > [ 35.749975] ------------[ cut here ]------------
What are these "noisy messages"? The above looks OK?
> When panic happens under console mode, the screen will first show the panic > call stack, but will immediately be overrided by noisy extra messages, like > this for every CPU except the panic one: > > WARNING: CPU: 1 PID: 280 at kernel/sched/core.c:1198 set_task_cpu+0x183/0x190 > Call Trace: > <IRQ> > try_to_wake_up > default_wake_function > autoremove_wake_function > __wake_up_common > __wake_up_common_lock > __wake_up > wake_up_klogd_work_func > irq_work_run_list > irq_work_tick > update_process_times > tick_sched_timer > __hrtimer_run_queues > hrtimer_interrupt > smp_apic_timer_interrupt > apic_timer_interrupt
And this output looks OK as well.
> Which make debugging more difficult, as the original context is > lost on screen. > > Keeping the CPU IRQ disabled will void these messages, as we code > run to this point, the user has chosed not to reboot, nor do > some extra handling with panic notifier, not much point in > re-enabling the interrupt.
And please have another attempt at the above paragraph?
> --- a/kernel/panic.c > +++ b/kernel/panic.c > @@ -295,7 +295,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) {
The patch looks reasonable, but the description is just too hard for me to follow, sorry. Please spend a bit more time over that and resend?
| |