All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Jan Kiszka <jan.kiszka@siemens.com>,
	Wim Van Sebroeck <wim@linux-watchdog.org>,
	linux-watchdog@vger.kernel.org
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Tero Kristo <t-kristo@ti.com>
Subject: Re: [PATCH] watchdog: Respect handle_boot_enabled when setting last last_hw_keepalive
Date: Fri, 30 Jul 2021 15:39:01 -0700	[thread overview]
Message-ID: <ccbd43d8-af29-2a5d-991f-def7f7adec40@roeck-us.net> (raw)
In-Reply-To: <def0c2e9-e035-7ffc-3216-27f461555ae5@siemens.com>

On 7/30/21 2:37 PM, Jan Kiszka wrote:
> On 30.07.21 22:49, Guenter Roeck wrote:
>> On 7/30/21 12:39 PM, Jan Kiszka wrote:
>>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>>
>>> We must not pet a running watchdog when handle_boot_enabled is off
>>> because this requests to only start doing that via userspace, not during
>>> probing.
>>>
>>
>> The scope of the changed function is quite limited. See the
>> definition of watchdog_set_last_hw_keepalive(). On top of that,
>> __watchdog_ping() does a bit more than just ping the watchdog,
>> and it only pings the watchdog in limited circumstances. On top of that,
>> the scope of handle_boot_enabled is different: If enabled, it tells
>> the watchdog core to keep pinging a watchdog until userspace opens
>> the device. This is about continuous pings, not about an initial one.
>> Given that, I'd rather have the watchdog subsystem issue an additional
>> ping than risking a regression.
>>
>> The only driver calling watchdog_set_last_hw_keepalive() is rti_wdt.c.
>> Does this patch solve a specific problem observed with that watchdog ?
> 
> Yes, it unbreaks support for handle_boot_enabled=no by not starting the
> automatic pinging of the kernel until userspace opens the device.
> Without this fix, the core will prematurely start kernel-side pinging,
> and hanging userspace will never be detected.
> 
Good point. You are correct.

I think it should also check for watchdog_hw_running(wdd), though.
The function should not really be called if the watchdog isn't
running, but it should still not ping the watchdog in that case.

Something like

     if (watchdog_hw_running(wdd) && handle_boot_enabled)
	return __watchdog_ping(wdd);

     return 0;

Also, I think it would make sense to add your additional comment
to the patch description. The problem isn't only that the watchdog
is pinged once, the problem is that it starts _automatic_
pinging which it really should not do.

Thanks,
Guenter

      reply	other threads:[~2021-07-30 22:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-30 19:39 [PATCH] watchdog: Respect handle_boot_enabled when setting last last_hw_keepalive Jan Kiszka
2021-07-30 20:49 ` Guenter Roeck
2021-07-30 21:37   ` Jan Kiszka
2021-07-30 22:39     ` Guenter Roeck [this message]

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=ccbd43d8-af29-2a5d-991f-def7f7adec40@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=jan.kiszka@siemens.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=t-kristo@ti.com \
    --cc=wim@linux-watchdog.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.