mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: George Cherian <gcherian@marvell.com>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>,
	"linux@roeck-us.net" <linux@roeck-us.net>,
	"wim@linux-watchdog.org" <wim@linux-watchdog.org>,
	"jwerner@chromium.org" <jwerner@chromium.org>,
	"evanbenn@chromium.org" <evanbenn@chromium.org>,
	"kabel@kernel.org" <kabel@kernel.org>,
	"krzk@kernel.org" <krzk@kernel.org>,
	"mazziesaccount@gmail.com" <mazziesaccount@gmail.com>,
	"thomas.richard@bootlin.com" <thomas.richard@bootlin.com>,
	"lma@chromium.org" <lma@chromium.org>,
	"bleung@chromium.org" <bleung@chromium.org>,
	"support.opensource@diasemi.com" <support.opensource@diasemi.com>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"andy@kernel.org" <andy@kernel.org>,
	"paul@crapouillou.net" <paul@crapouillou.net>,
	"alexander.usyskin@intel.com" <alexander.usyskin@intel.com>,
	"andreas.werner@men.de" <andreas.werner@men.de>,
	"daniel@thingy.jp" <daniel@thingy.jp>,
	"romain.perier@gmail.com" <romain.perier@gmail.com>,
	"avifishman70@gmail.com" <avifishman70@gmail.com>,
	"tmaimon77@gmail.com" <tmaimon77@gmail.com>,
	"tali.perry1@gmail.com" <tali.perry1@gmail.com>,
	"venture@google.com" <venture@google.com>,
	"yuenn@google.com" <yuenn@google.com>,
	"benjaminfair@google.com" <benjaminfair@google.com>,
	"maddy@linux.ibm.com" <maddy@linux.ibm.com>,
	"mpe@ellerman.id.au" <mpe@ellerman.id.au>,
	"npiggin@gmail.com" <npiggin@gmail.com>,
	"christophe.leroy@csgroup.eu" <christophe.leroy@csgroup.eu>,
	"naveen@kernel.org" <naveen@kernel.org>,
	"mwalle@kernel.org" <mwalle@kernel.org>,
	"xingyu.wu@starfivetech.com" <xingyu.wu@starfivetech.com>,
	"ziv.xu@starfivetech.com" <ziv.xu@starfivetech.com>,
	"hayashi.kunihiko@socionext.com" <hayashi.kunihiko@socionext.com>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>
Cc: "chrome-platform@lists.linux.dev"
	<chrome-platform@lists.linux.dev>,
	"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>,
	"imx@lists.linux.dev" <imx@lists.linux.dev>,
	"patches@opensource.cirrus.com" <patches@opensource.cirrus.com>,
	"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [EXTERNAL] Re: [PATCH v4 0/2] Add stop_on_panic support for watchdog
Date: Wed, 5 Mar 2025 11:28:40 +0000	[thread overview]
Message-ID: <PH8PR18MB53817EC09B918852B78DF3AAC5CB2@PH8PR18MB5381.namprd18.prod.outlook.com> (raw)
In-Reply-To: <43fb0965-04b7-41dc-ae3f-54676eefdbb5@pengutronix.de>

Hi Ahmad,
>Hi George,
> On 05.03.25 11:10, George Cherian wrote:
>> This series adds a new kernel command line option to watchdog core to
>> stop the watchdog on panic. This is useul in certain systems which prevents
>> successful loading of kdump kernel due to watchdog reset.
>> 
>> Some of the watchdog drivers stop function could sleep. For such
>> drivers the stop_on_panic is not valid as the notifier callback happens
>> in atomic context. Introduce WDIOF_STOP_MAYSLEEP flag to watchdog_info
>> options to indicate whether the stop function would sleep.
>
>Did you consider having a reset_on_panic instead, which sets a user-specified
>timeout on panic? This would make the mechanism useful also for watchdogs

/proc/sys/kernel/panic already provides that support. You may echo a non-zero value 
and the system tries for a soft reboot after those many seconds. But this doesn't happen 
in case of a kdump kernel load after panic.
>that can't be disabled and would protect against system lock up: 
>Consider a memory-corruption bug (perhaps externally via DMA), which partially
>overwrites both main and kdump kernel. With a disabled watchdog, the system
>may not be able to recover on its own.

Yes, that is the reason why the kernel command-line is optional and by default it is set to zero.
So that in cases if you have a corrupted kdump kernel then watchdog kicks in.
>
>If you did consider it, what made you decide against it?
watchdog.stop_on_panic=1 is specifically for systems which can't boot a kdump kernel due to the fact 
that the kdump kernel gets a watchdog reset while booting, may be due to a shorter watchdog time.
For eg: a 32-bit watchdog down counter running at 1GHz.
reset_on_panic can guarantee only the largest watchdog timeout supported by HW, 
since there is no one to ping the watchdog. 
>
>Thanks,
>Ahmad
>
>> 
>> 
> Changelog:
> v1 -> v2
> - Remove the per driver flag setting option
> - Take the parameter via kernel command-line parameter to watchdog_core.
> 
> v2 -> v3
> - Remove the helper function watchdog_stop_on_panic() from watchdog.h.
> - There are no users for this. 
> 
> v3 -> v4
> - Since the panic notifier is in atomic context, watchdog functions
>   which sleep can't be called. 
> - Add an options flag WDIOF_STOP_MAYSLEEP to indicate whether stop
>   function sleeps.
> - Simplify the stop_on_panic kernel command line parsing.
> - Enable the panic notiffier only if the watchdog stop function doesn't
>   sleep
> 
> George Cherian (2):
>   watchdog: Add a new flag WDIOF_STOP_MAYSLEEP
>   drivers: watchdog: Add support for panic notifier callback

- George

  reply	other threads:[~2025-03-05 11:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-05 10:10 George Cherian
2025-03-05 10:10 ` [PATCH v4 1/2] watchdog: Add a new flag WDIOF_STOP_MAYSLEEP George Cherian
2025-03-05 10:18   ` Marek Behún
2025-03-05 10:34     ` George Cherian
2025-03-05 11:01       ` Ahmad Fatoum
2025-03-05 23:58         ` Guenter Roeck
2025-03-06 12:18           ` [EXTERNAL] " George Cherian
2025-03-06 17:22             ` Guenter Roeck
2025-03-05 10:30   ` Andy Shevchenko
2025-03-05 22:50   ` Julius Werner
2025-03-06  9:40     ` George Cherian
2025-03-05 23:03   ` Guenter Roeck
2025-03-05 10:10 ` [PATCH v4 2/2] drivers: watchdog: Add support for panic notifier callback George Cherian
2025-03-05 10:33   ` Andy Shevchenko
2025-03-06  0:00     ` Guenter Roeck
2025-03-05 10:31 ` [PATCH v4 0/2] Add stop_on_panic support for watchdog Andy Shevchenko
2025-03-05 10:41 ` Ahmad Fatoum
2025-03-05 11:28   ` George Cherian [this message]
2025-03-05 11:39     ` [EXTERNAL] " Ahmad Fatoum
2025-03-05 12:15       ` George Cherian
2025-03-05 12:23         ` Ahmad Fatoum

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=PH8PR18MB53817EC09B918852B78DF3AAC5CB2@PH8PR18MB5381.namprd18.prod.outlook.com \
    --to=gcherian@marvell.com \
    --cc=a.fatoum@pengutronix.de \
    --cc=alexander.usyskin@intel.com \
    --cc=andreas.werner@men.de \
    --cc=andy@kernel.org \
    --cc=avifishman70@gmail.com \
    --cc=benjaminfair@google.com \
    --cc=bleung@chromium.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=chrome-platform@lists.linux.dev \
    --cc=daniel@thingy.jp \
    --cc=evanbenn@chromium.org \
    --cc=festevam@gmail.com \
    --cc=hayashi.kunihiko@socionext.com \
    --cc=imx@lists.linux.dev \
    --cc=jwerner@chromium.org \
    --cc=kabel@kernel.org \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lma@chromium.org \
    --cc=maddy@linux.ibm.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mhiramat@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=mwalle@kernel.org \
    --cc=naveen@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=patches@opensource.cirrus.com \
    --cc=paul@crapouillou.net \
    --cc=romain.perier@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=support.opensource@diasemi.com \
    --cc=tali.perry1@gmail.com \
    --cc=thomas.richard@bootlin.com \
    --cc=tmaimon77@gmail.com \
    --cc=venture@google.com \
    --cc=wim@linux-watchdog.org \
    --cc=xingyu.wu@starfivetech.com \
    --cc=yuenn@google.com \
    --cc=ziv.xu@starfivetech.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

all inboxes | Powered by JetHome®