From: Corey Minyard <minyard@acm.org>
To: Don Zickus <dzickus@redhat.com>, Guenter Roeck <linux@roeck-us.net>
Cc: openipmi-developer@lists.sourceforge.net, linux-watchdog@vger.kernel.org
Subject: Re: ipmi watchdog questions
Date: Fri, 02 May 2014 16:52:12 -0500 [thread overview]
Message-ID: <5364138C.1050208@acm.org> (raw)
In-Reply-To: <20140502174650.GI198341@redhat.com>
On 05/02/2014 12:46 PM, Don Zickus wrote:
> On Fri, May 02, 2014 at 10:18:03AM -0700, Guenter Roeck wrote:
>>>>> That isn't enough to be able to report the pretimeout to the user. You
>>>>> can set it and get it with those calls, but it also needs poll, fasync,
>>>>> and read to be able to select on a pretimeout or block on a read.
>>>>>
>>>> Ah, but now you are talking about a specific implementation, which is a bit
>>>> different. The question here is what you expect to occur when a pretimeout
>>>> happens, and you have a certain set of expectations. Personally I don't know
>>>> what the best solution is; maybe a sysfs attribute or, yes, some activity
>>>> on the watchdog device entry. Why don't you (or Don) suggest something
>>>> and come up with a patch set for review ?
>>> I look through the only other two watchdogs that I could find with
>>> pretimeouts (kempld and hpwdt). hpwdt uses NMI as its pretimeout
>>> notification, while kempld uses a low level configured action (nmi, smi,
>>> sci, delay). I think ipmi is the only one that chooses a user space
>>> implementation (which raises another question[1]).
>>>
>>> I can try to respectfully copy the ipmi implementation to watchdog_dev.c
>>> and set a wdd->option to indicate its use and in addition add the
>>> pretimeout ioctls to watchdog_dev.c (and struct watchdog_device).
>>>
>>> Otherwise I am not sure if adding read, fasync, and poll wrappers to
>>> watchdog_dev.c looks like a dirty hack.
>>>
>>> Cheers,
>>> Don
>>>
>>> [1] if the system is stuck such that the pretimeout goes off, is it even
>>> possible for userspace to run? Or guaranteed that it could run reliably?
>>> Just curious behind the history for this addition.
>>>
>> I would guess it depends. In most cases, I would assume it reflects that the
>> watchdog daemon did not run. This in turn may suggest that userspace is,
>> for all practical purposes, unable to run. Given that, I would suspect that
>> a solution which depends on user space to act will in most cases not be able
>> to fulfil its purpose, and I would not want to depend on it.
> I am sure Corey ran into one vendor who wanted it, hence why he
> implemented it. But yeah, I am not sure I would depend on it either.
The driver hardware can do an NMI or an indication through an IPMI
interrupt/signal, and the driver can either panic or try to give
information to the user.
I don't exactly remember the reason for giving a pretimeout to the
user. I think there were some older implementations that did this, so I
kept the function. You can't depend on it, of course, but if it can work
then debugging a problem with the watchdog daemon (or something else in
userland) would be a lot easier with an option like this. I have no
idea if anyone uses it.
I do agree that the driver should be moved over to use the framework.
Implementing read/poll should be easy in the framework.
Don, are you interested in working on this? i won't be able to get to
it for a bit.
-corey
>
>> Note that kempld in practice only implements NMI, though the HW can
>> do more. I can ask Kontron for feedback on their opinion for possible
>> actions (and why they didn't implement other actions in the driver).
> I don't have much interest in it really. I was just looking at what other
> vendors did as reference. NMI makes sense. Though I don't see an NMI
> handler, so I assume they just use the NMI to force a panic (like the
> hpwdt does, sortof)?
>
> Cheers,
> Don
next prev parent reply other threads:[~2014-05-02 21:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-01 13:58 ipmi watchdog questions Don Zickus
2014-05-02 0:38 ` Corey Minyard
2014-05-02 1:11 ` Guenter Roeck
2014-05-02 4:38 ` Corey Minyard
2014-05-02 13:17 ` Guenter Roeck
2014-05-02 16:44 ` Don Zickus
2014-05-02 17:18 ` Guenter Roeck
2014-05-02 17:46 ` Don Zickus
2014-05-02 21:52 ` Corey Minyard [this message]
2014-05-02 23:20 ` Guenter Roeck
2014-05-03 2:10 ` Don Zickus
2014-05-03 2:51 ` Corey Minyard
2014-05-03 4:23 ` Guenter Roeck
2014-05-02 15:10 ` Don Zickus
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=5364138C.1050208@acm.org \
--to=minyard@acm.org \
--cc=dzickus@redhat.com \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=openipmi-developer@lists.sourceforge.net \
/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.