[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7956ab00-66b6-bd89-dcc0-f10cf2741e4d@arm.com>
Date: Thu, 28 Apr 2022 09:14:11 +0100
From: Suzuki K Poulose <suzuki.poulose@....com>
To: "Guilherme G. Piccoli" <gpiccoli@...lia.com>,
akpm@...ux-foundation.org, bhe@...hat.com, pmladek@...e.com,
kexec@...ts.infradead.org
Cc: linux-kernel@...r.kernel.org,
bcm-kernel-feedback-list@...adcom.com, coresight@...ts.linaro.org,
linuxppc-dev@...ts.ozlabs.org, linux-alpha@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-edac@...r.kernel.org,
linux-hyperv@...r.kernel.org, linux-leds@...r.kernel.org,
linux-mips@...r.kernel.org, linux-parisc@...r.kernel.org,
linux-pm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
linux-s390@...r.kernel.org, linux-tegra@...r.kernel.org,
linux-um@...ts.infradead.org, linux-xtensa@...ux-xtensa.org,
netdev@...r.kernel.org, openipmi-developer@...ts.sourceforge.net,
rcu@...r.kernel.org, sparclinux@...r.kernel.org,
xen-devel@...ts.xenproject.org, x86@...nel.org,
kernel-dev@...lia.com, kernel@...ccoli.net, halves@...onical.com,
fabiomirmar@...il.com, alejandro.j.jimenez@...cle.com,
andriy.shevchenko@...ux.intel.com, arnd@...db.de, bp@...en8.de,
corbet@....net, d.hatayama@...fujitsu.com,
dave.hansen@...ux.intel.com, dyoung@...hat.com,
feng.tang@...el.com, gregkh@...uxfoundation.org,
mikelley@...rosoft.com, hidehiro.kawai.ez@...achi.com,
jgross@...e.com, john.ogness@...utronix.de, keescook@...omium.org,
luto@...nel.org, mhiramat@...nel.org, mingo@...hat.com,
paulmck@...nel.org, peterz@...radead.org, rostedt@...dmis.org,
senozhatsky@...omium.org, stern@...land.harvard.edu,
tglx@...utronix.de, vgoyal@...hat.com, vkuznets@...hat.com,
will@...nel.org, Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Catalin Marinas <catalin.marinas@....com>,
Florian Fainelli <f.fainelli@...il.com>,
Frederic Weisbecker <frederic@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
Hari Bathini <hbathini@...ux.ibm.com>,
Joel Fernandes <joel@...lfernandes.org>,
Jonathan Hunter <jonathanh@...dia.com>,
Josh Triplett <josh@...htriplett.org>,
Lai Jiangshan <jiangshanlai@...il.com>,
Leo Yan <leo.yan@...aro.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Michael Ellerman <mpe@...erman.id.au>,
Mike Leach <mike.leach@...aro.org>,
Mikko Perttunen <mperttunen@...dia.com>,
Neeraj Upadhyay <quic_neeraju@...cinc.com>,
Nicholas Piggin <npiggin@...il.com>,
Paul Mackerras <paulus@...ba.org>,
Thierry Reding <thierry.reding@...il.com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Subject: Re: [PATCH 20/30] panic: Add the panic informational notifier list
On 27/04/2022 23:49, Guilherme G. Piccoli wrote:
> The goal of this new panic notifier is to allow its users to
> register callbacks to run earlier in the panic path than they
> currently do. This aims at informational mechanisms, like dumping
> kernel offsets and showing device error data (in case it's simple
> registers reading, for example) as well as mechanisms to disable
> log flooding (like hung_task detector / RCU warnings) and the
> tracing dump_on_oops (when enabled).
>
> Any (non-invasive) information that should be provided before
> kmsg_dump() as well as log flooding preventing code should fit
> here, as long it offers relatively low risk for kdump.
>
> For now, the patch is almost a no-op, although it changes a bit
> the ordering in which some panic notifiers are executed - specially
> affected by this are the notifiers responsible for disabling the
> hung_task detector / RCU warnings, which now run first. In a
> subsequent patch, the panic path will be refactored, then the
> panic informational notifiers will effectively run earlier,
> before ksmg_dump() (and usually before kdump as well).
>
> We also defer documenting it all properly in the subsequent
> refactor patch. Finally, while at it, we removed some useless
> header inclusions too.
>
> Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> Cc: Catalin Marinas <catalin.marinas@....com>
> Cc: Florian Fainelli <f.fainelli@...il.com>
> Cc: Frederic Weisbecker <frederic@...nel.org>
> Cc: "H. Peter Anvin" <hpa@...or.com>
> Cc: Hari Bathini <hbathini@...ux.ibm.com>
> Cc: Joel Fernandes <joel@...lfernandes.org>
> Cc: Jonathan Hunter <jonathanh@...dia.com>
> Cc: Josh Triplett <josh@...htriplett.org>
> Cc: Lai Jiangshan <jiangshanlai@...il.com>
> Cc: Leo Yan <leo.yan@...aro.org>
> Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
> Cc: Mathieu Poirier <mathieu.poirier@...aro.org>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Mike Leach <mike.leach@...aro.org>
> Cc: Mikko Perttunen <mperttunen@...dia.com>
> Cc: Neeraj Upadhyay <quic_neeraju@...cinc.com>
> Cc: Nicholas Piggin <npiggin@...il.com>
> Cc: Paul Mackerras <paulus@...ba.org>
> Cc: Suzuki K Poulose <suzuki.poulose@....com>
> Cc: Thierry Reding <thierry.reding@...il.com>
> Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
> Signed-off-by: Guilherme G. Piccoli <gpiccoli@...lia.com>
> ---
> arch/arm64/kernel/setup.c | 2 +-
> arch/mips/kernel/relocate.c | 2 +-
> arch/powerpc/kernel/setup-common.c | 2 +-
> arch/x86/kernel/setup.c | 2 +-
> drivers/bus/brcmstb_gisb.c | 2 +-
> drivers/hwtracing/coresight/coresight-cpu-debug.c | 4 ++--
> drivers/soc/tegra/ari-tegra186.c | 3 ++-
> include/linux/panic_notifier.h | 1 +
> kernel/hung_task.c | 3 ++-
> kernel/panic.c | 4 ++++
> kernel/rcu/tree.c | 1 -
> kernel/rcu/tree_stall.h | 3 ++-
> kernel/trace/trace.c | 2 +-
> 13 files changed, 19 insertions(+), 12 deletions(-)
>
...
> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> index 1874df7c6a73..7b1012454525 100644
> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> @@ -535,7 +535,7 @@ static int debug_func_init(void)
> &debug_func_knob_fops);
>
> /* Register function to be called for panic */
> - ret = atomic_notifier_chain_register(&panic_notifier_list,
> + ret = atomic_notifier_chain_register(&panic_info_list,
> &debug_notifier);
> if (ret) {
> pr_err("%s: unable to register notifier: %d\n",
> @@ -552,7 +552,7 @@ static int debug_func_init(void)
>
> static void debug_func_exit(void)
> {
> - atomic_notifier_chain_unregister(&panic_notifier_list,
> + atomic_notifier_chain_unregister(&panic_info_list,
> &debug_notifier);
> debugfs_remove_recursive(debug_debugfs_dir);
> }
Acked-by: Suzuki K Poulose <suzuki.poulose@....com>
Powered by blists - more mailing lists