public inbox for linux-tegra@vger.kernel.org
 help / color / mirror / Atom feed
From: Jon Hunter <jonathanh@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Kartik Rajput <kkartik@nvidia.com>,
	daniel.lezcano@linaro.org, tglx@linutronix.de,
	linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH] clocksource: timer-tegra186: Enable WDT at probe
Date: Thu, 3 Jul 2025 11:26:28 +0100	[thread overview]
Message-ID: <79974980-7218-4fa6-b5c2-f3936ecd1fce@nvidia.com> (raw)
In-Reply-To: <k2t3dkh3acoenhxtsd3ekvpnwl5yir6qaun52h5prdfwcx5lsb@h3ieoj7jfu6t>



On 03/07/2025 11:12, Thierry Reding wrote:
> On Thu, Jul 03, 2025 at 08:55:04AM +0100, Jon Hunter wrote:
>>
>>
>> On 03/07/2025 07:55, Thierry Reding wrote:
>>> On Mon, Jun 30, 2025 at 04:31:35PM +0530, Kartik Rajput wrote:
>>>> Currently, if the system crashes or hangs during kernel boot before
>>>> userspace initializes and configures the watchdog timer, then the
>>>> watchdog won’t be able to recover the system as it’s not running. This
>>>> becomes crucial during an over-the-air update, where if the newly
>>>> updated kernel crashes on boot, the watchdog is needed to reset the
>>>> device and boot into an alternative system partition. If the watchdog
>>>> is disabled in such scenarios, it can lead to the system getting
>>>> bricked.
>>>>
>>>> Enable the WDT during driver probe to allow recovery from any crash/hang
>>>> seen during early kernel boot. Also, disable interrupts once userspace
>>>> starts pinging the watchdog.
>>>>
>>>> Signed-off-by: Kartik Rajput <kkartik@nvidia.com>
>>>> ---
>>>>    drivers/clocksource/timer-tegra186.c | 42 ++++++++++++++++++++++++++++
>>>>    1 file changed, 42 insertions(+)
>>>
>>> This seems dangerous to me. It means that if the operating system
>>> doesn't start some sort of watchdog service in userspace that pings the
>>> watchdog, the system will reboot 120 seconds after the watchdog probe.
>>
>>
>> I don't believe that will happen with this change. The kernel will continue
>> to pet the watchdog until userspace takes over with this change. At least
>> that is my understanding.
> 
> Ah yes... I skipped over that IRQ handling bit. However, I think this
> still violates the assumptions because the driver will keep petting the
> watchdog no matter what, which means that we now have no way of forcing
> a reset of the system when userspace hangs. As long as just a tiny part
> of the kernel keeps running, the watchdog would keep getting petted and
> prevent it from resetting the system.
> 
> Using a second watchdog still seems like a more robust alternative. Or
> maybe we can find a way to remove the kernel petting once userspace
> starts the watchdog.

Once userspace calls the "->ping" callback then, 'enable_irq' is set to 
false and when 'tegra186_wdt_enable()' is called this will disable the 
IRQ so that the kernel no longer pets the watchdog. So this should 
disable kernel petting once userspace is up and running.

Cheers!
Jon

-- 
nvpublic


  reply	other threads:[~2025-07-03 10:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-30 11:01 [PATCH] clocksource: timer-tegra186: Enable WDT at probe Kartik Rajput
2025-07-03  6:55 ` Thierry Reding
2025-07-03  7:55   ` Jon Hunter
2025-07-03 10:12     ` Thierry Reding
2025-07-03 10:26       ` Jon Hunter [this message]
2025-07-03 13:36         ` Thierry Reding
2025-07-03 14:11           ` Jon Hunter
2025-07-03 14:19             ` Thierry Reding
2025-07-03 14:42               ` Jon Hunter
2025-07-03  8:23   ` Kartik Rajput
2025-07-03 10:36 ` Jon Hunter
2025-07-03 13:40   ` Thierry Reding

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=79974980-7218-4fa6-b5c2-f3936ecd1fce@nvidia.com \
    --to=jonathanh@nvidia.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=kkartik@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.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