[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PH8PR18MB53812FCAE180303E5D434275C5CA2@PH8PR18MB5381.namprd18.prod.outlook.com>
Date: Thu, 6 Mar 2025 12:18:20 +0000
From: George Cherian <gcherian@...vell.com>
To: Guenter Roeck <linux@...ck-us.net>, Ahmad Fatoum <a.fatoum@...gutronix.de>
CC: "wim@...ux-watchdog.org" <wim@...ux-watchdog.org>,
"jwerner@...omium.org"
<jwerner@...omium.org>,
"evanbenn@...omium.org" <evanbenn@...omium.org>,
"krzk@...nel.org" <krzk@...nel.org>,
"mazziesaccount@...il.com"
<mazziesaccount@...il.com>,
"thomas.richard@...tlin.com"
<thomas.richard@...tlin.com>,
"lma@...omium.org" <lma@...omium.org>,
"bleung@...omium.org" <bleung@...omium.org>,
"support.opensource@...semi.com"
<support.opensource@...semi.com>,
"shawnguo@...nel.org"
<shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com"
<festevam@...il.com>,
"andy@...nel.org" <andy@...nel.org>,
"paul@...pouillou.net" <paul@...pouillou.net>,
"alexander.usyskin@...el.com"
<alexander.usyskin@...el.com>,
"andreas.werner@....de"
<andreas.werner@....de>,
"daniel@...ngy.jp" <daniel@...ngy.jp>,
"romain.perier@...il.com" <romain.perier@...il.com>,
"avifishman70@...il.com"
<avifishman70@...il.com>,
"tmaimon77@...il.com" <tmaimon77@...il.com>,
"tali.perry1@...il.com" <tali.perry1@...il.com>,
"venture@...gle.com"
<venture@...gle.com>,
"yuenn@...gle.com" <yuenn@...gle.com>,
"benjaminfair@...gle.com" <benjaminfair@...gle.com>,
"maddy@...ux.ibm.com"
<maddy@...ux.ibm.com>,
"mpe@...erman.id.au" <mpe@...erman.id.au>,
"npiggin@...il.com" <npiggin@...il.com>,
"christophe.leroy@...roup.eu"
<christophe.leroy@...roup.eu>,
"naveen@...nel.org" <naveen@...nel.org>,
"mwalle@...nel.org" <mwalle@...nel.org>,
"xingyu.wu@...rfivetech.com"
<xingyu.wu@...rfivetech.com>,
"ziv.xu@...rfivetech.com"
<ziv.xu@...rfivetech.com>,
"hayashi.kunihiko@...ionext.com"
<hayashi.kunihiko@...ionext.com>,
"mhiramat@...nel.org"
<mhiramat@...nel.org>,
"linux-watchdog@...r.kernel.org"
<linux-watchdog@...r.kernel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"chrome-platform@...ts.linux.dev"
<chrome-platform@...ts.linux.dev>,
"imx@...ts.linux.dev"
<imx@...ts.linux.dev>,
"linux-mips@...r.kernel.org"
<linux-mips@...r.kernel.org>,
"openbmc@...ts.ozlabs.org"
<openbmc@...ts.ozlabs.org>,
"linuxppc-dev@...ts.ozlabs.org"
<linuxppc-dev@...ts.ozlabs.org>,
"patches@...nsource.cirrus.com"
<patches@...nsource.cirrus.com>,
Marek BehĂșn
<kabel@...nel.org>
Subject: RE: [EXTERNAL] Re: [PATCH v4 1/2] watchdog: Add a new flag
WDIOF_STOP_MAYSLEEP
Hi Guenter,
I am summarizing the topics we discussed in multiple threads here.
>>On 3/5/25 03:01, Ahmad Fatoum wrote:
>> Hi George,
>> Hi Guenter,
>>
>> On 05.03.25 11:34, George Cherian wrote:
>>>> why is armada_37xx_wdt also here?
>>>> The stop function in that driver may not sleep.
>>> Marek,
>>>
>>> Thanks for reviewing.
>>> Since the stop function has a regmap_write(), I thought it might sleep.
>>> Now that you pointed it out, I assume that it is an MMIO based regmap being used for armada.
>>> I will update the same in the next version
>>
>> Failure to add WDIOF_STOP_MAYSLEEP when it's needed can lead to
>> kernel hanging. Failure to add an alternative WDIOF_STOP_ATOMIC
>> would lead to the kernel option being a no-op.
>>
>> I think a no-op stop_on_panic (or reset_on_panic) is a saner default.
>>
>
>Agreed. Also, I like WDIOF_STOP_ATOMIC more than the WDIOF_STOP_NOSLEEP
>I had suggested in my other response.
1. Instead of blacklisting drivers as WDIOF_STOP_MAYSLEEP, the option will an opt-in.
2. This may not be WDIOF_STOP_AOMIC, instead would be a generic flag not limited to STOP
operation. May be WDIOF_OPS_ATOMIC (OPS include - .start, .stop, .set_timeout, .ping)
3. Remove the kernel command line option (stop_on_panic) and have a generic reset_on_panic.
4. reset_on_panic=60 (by default ) meaning on a panic the wdog timeout is updated to 60sec
or the clamp_t(reset_on_panic, min, max_hw_heartbeat_ms).
5. if reset_on_panic=0, it means the watchdog is stopped on panic.
6. All of these to be done by default from panic handler incase of a configured kdump kernel.
-George
>
>Thanks,
>Guenter
Powered by blists - more mailing lists