linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Huang Shijie <shijie@os.amperecomputing.com>
To: Will Deacon <will@kernel.org>
Cc: Pavel Tatashin <pasha.tatashin@soleen.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	tabba@google.com, Ard Biesheuvel <ardb@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	patches@amperecomputing.com, zwang@amperecomputing.com
Subject: Re: [PATCH] arm64: kexec: flush log to console in nmi_panic()
Date: Fri, 18 Jun 2021 09:03:26 +0000	[thread overview]
Message-ID: <YMxhXkdqU+MVJW33@hsj> (raw)
In-Reply-To: <20210617175822.GG24813@willie-the-truck>

On Thu, Jun 17, 2021 at 06:58:23PM +0100, Will Deacon wrote:
> On Thu, Jun 17, 2021 at 01:55:08PM -0400, Pavel Tatashin wrote:
> > On Thu, Jun 17, 2021 at 1:52 PM Will Deacon <will@kernel.org> wrote:
> > >
> > > On Thu, Jun 17, 2021 at 12:50:23PM +0000, Huang Shijie wrote:
> > > > If kdump is configured, nmi_panic() may run to machine_kexec().
> > > >
> > > > But in NMI context, the log is put in PER-CPU nmi_print_seq.
> > > > So we can not see any log on the console since we entered the NMI context,
> > > > such as the "Bye!" in previous line.
> > > >
> > > > This patch fixes this issue by two steps:
> > > >       1) Uses printk_safe_flush_on_panic() to flush the log from
> > > >              nmi_print_seq to global printk ring buffer,
> > > >         2) Then uses console_flush_on_panic() to flush to console.
> > > >
> > > > After this patch, we can see the "Bye!" log in the panic console.
> > >
> > > Does it matter? I'd be more inclined to remove the print altogether...
We may remove the log in the arm64 code.

But in the panic() itself, it still has many log, such as:

	..............
	pr_emerg("Kernel panic - not syncing: %s\n", buf);
	..............
	dump_stack();
	..............
	kdb_printf("PANIC: %s\n", msg);

Without this patch, all these log above will loss..

> > 
> > I agree, the print could be removed entirely. But, my assumption was
> > that this patch meant to flush other buffered prints beside this last
> > "Bye" one.
> 
> That sounds like something which should be done in the core code, rather
> than the in the architecture backend (and looks like panic() might do this
> already?)
In the non-kdump code path, the core code will take care of it, please read the
code in panic().

But in the kdump code path, the architecture code should take care of it.

Thanks
Huang Shijie

  reply	other threads:[~2021-06-18  1:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-17 12:50 [PATCH] arm64: kexec: flush log to console in nmi_panic() Huang Shijie
2021-06-17 17:52 ` Will Deacon
2021-06-17 17:55   ` Pavel Tatashin
2021-06-17 17:58     ` Will Deacon
2021-06-18  9:03       ` Huang Shijie [this message]
2021-06-21 10:08         ` Will Deacon
2021-06-22 10:14           ` Huang Shijie

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=YMxhXkdqU+MVJW33@hsj \
    --to=shijie@os.amperecomputing.com \
    --cc=ardb@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=patches@amperecomputing.com \
    --cc=tabba@google.com \
    --cc=will@kernel.org \
    --cc=zwang@amperecomputing.com \
    /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;
as well as URLs for NNTP newsgroup(s).