All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: wim@iguana.be, linux-watchdog@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] watchdog: hpwdt: add ioctl WDIOC_GETPRETIMEOUT
Date: Sat, 21 Oct 2017 19:41:02 -0600	[thread overview]
Message-ID: <20171022014102.GA28641@anatevka.americas.hpqcorp.net> (raw)
In-Reply-To: <a9e00af0-8239-d5cb-078c-06f3388810cf@roeck-us.net>

On Fri, Oct 20, 2017 at 07:25:20PM -0700, Guenter Roeck wrote:
> On 10/20/2017 03:54 PM, Jerry Hoemann wrote:
> > Add support for WDIOC_GETPRETIMEOUT ioctl so that user applications
> > can determine when the NMI should arrive.
> > 
> > Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
> > ---
> >   drivers/watchdog/hpwdt.c | 7 +++++++
> >   1 file changed, 7 insertions(+)
> > 
> > diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
> > index 67fbe35..ef54b03 100644
> > --- a/drivers/watchdog/hpwdt.c
> > +++ b/drivers/watchdog/hpwdt.c
> > @@ -50,6 +50,7 @@
> >   static bool nowayout = WATCHDOG_NOWAYOUT;
> >   static char expect_release;
> >   static unsigned long hpwdt_is_open;
> > +static const int pretimeout = 9;
> >   static void __iomem *pci_mem_addr;		/* the PCI-memory address */
> >   static unsigned long __iomem *hpwdt_timer_reg;
> > @@ -622,6 +623,12 @@ static long hpwdt_ioctl(struct file *file, unsigned int cmd,
> >   		}
> >   		break;
> > +	case WDIOC_GETPRETIMEOUT:
> > +		ret = copy_to_user(argp, &pretimeout, sizeof(pretimeout));
> > +		if (ret)
> > +			ret = -EFAULT;
> > +		break;
> > +
> >   	case WDIOC_SETTIMEOUT:
> >   		ret = get_user(new_margin, p);
> >   		if (ret)
> > 
> 
> Can you please convert the driver to use the watchdog subsystem instead ?
> If there are still improvements needed afterwards, they can still be
> implemented, but we really should not make improvements which are
> already supported by the watchdog core.

I will look into converting the driver, but would like to get this
fix in independently.

SuSE brought https://bugzilla.novell.com/show_bug.cgi?id=1042933
to my attention earlier this summer.  The submitter was trying to
develop a watchdog test where the ping rate was set to be the
Timeout/2.

The test worked fine until (Timeout/2) < PreTimeout.  At this point
an NMI would be delivered to the system before the test could refresh
the timer.

I came to the view that a watchdog that implements a pre-timeout NMI
where the value of the pre-timeout is not known programmatically as having
a defect.

This problem has been around a long time and we could live with it, but
figured while I was in fixing other problems, I'd fix this one as well.

Thanks

-- 

-----------------------------------------------------------------------------
Jerry Hoemann                  Software Engineer   Hewlett Packard Enterprise
-----------------------------------------------------------------------------

  reply	other threads:[~2017-10-22  1:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-20 22:54 [PATCH 0/3] watchdog: hpwdt: driver update Jerry Hoemann
2017-10-20 22:54 ` [PATCH 1/3] watchdog: hpwdt: add ioctl WDIOC_GETPRETIMEOUT Jerry Hoemann
2017-10-21  2:25   ` Guenter Roeck
2017-10-22  1:41     ` Jerry Hoemann [this message]
2017-10-22 14:55       ` Guenter Roeck
2017-10-24 16:13         ` Jerry Hoemann
2017-10-24 18:42           ` Guenter Roeck
2017-10-20 22:54 ` [PATCH 2/3] watchdog: hpwdt: SMBIOS check Jerry Hoemann
2017-10-21  2:37   ` Guenter Roeck
2017-10-22  1:56     ` Jerry Hoemann
2017-10-22 14:56       ` Guenter Roeck
2017-10-20 22:54 ` [PATCH 3/3] watchdog: hpwdt: Check source of NMI Jerry Hoemann

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=20171022014102.GA28641@anatevka.americas.hpqcorp.net \
    --to=jerry.hoemann@hpe.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=wim@iguana.be \
    /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.