Re: [PATCH] watchdog: hpwdt: Update Driver Documentation.

2018-08-21 Thread Guenter Roeck
On Mon, Aug 20, 2018 at 01:31:23PM -0600, Jerry Hoemann wrote:
> Remove references to deprecated features like NMI sourcing
> and obsoleted module parameters.
> 
> Add details concerning new module parameter pretimeout and tips
> to programming it.
> 
> Signed-off-by: Jerry Hoemann 

Reviewed-by: Guenter Roeck 


Re: [PATCH] watchdog: hpwdt: Update Driver Documentation.

2018-08-21 Thread Guenter Roeck
On Mon, Aug 20, 2018 at 01:31:23PM -0600, Jerry Hoemann wrote:
> Remove references to deprecated features like NMI sourcing
> and obsoleted module parameters.
> 
> Add details concerning new module parameter pretimeout and tips
> to programming it.
> 
> Signed-off-by: Jerry Hoemann 

Reviewed-by: Guenter Roeck 


[PATCH] watchdog: hpwdt: Update Driver Documentation.

2018-08-20 Thread Jerry Hoemann
Remove references to deprecated features like NMI sourcing
and obsoleted module parameters.

Add details concerning new module parameter pretimeout and tips
to programming it.

Signed-off-by: Jerry Hoemann 
---
 Documentation/watchdog/hpwdt.txt | 93 ++--
 1 file changed, 31 insertions(+), 62 deletions(-)

diff --git a/Documentation/watchdog/hpwdt.txt b/Documentation/watchdog/hpwdt.txt
index 6d866c537127..55df692c5595 100644
--- a/Documentation/watchdog/hpwdt.txt
+++ b/Documentation/watchdog/hpwdt.txt
@@ -1,15 +1,12 @@
-Last reviewed: 05/20/2016
+Last reviewed: 08/20/2018
 
  HPE iLO NMI Watchdog Driver
-  NMI sourcing for iLO based ProLiant Servers
- Documentation and Driver by
- Thomas Mingarelli
+   for iLO based ProLiant Servers
 
  The HPE iLO NMI Watchdog driver is a kernel module that provides basic
- watchdog functionality and the added benefit of NMI sourcing. Both the
- watchdog functionality and the NMI sourcing capability need to be enabled
- by the user. Remember that the two modes are not dependent on one another.
- A user can have the NMI sourcing without the watchdog timer and vice-versa.
+ watchdog functionality and handler for the iLO "Generate NMI to System"
+ virtual button.
+
  All references to iLO in this document imply it also works on iLO2 and all
  subsequent generations.
 
@@ -21,12 +18,16 @@ Last reviewed: 05/20/2016
  not be updated in a timely fashion and a hardware system reset (also known as
  an Automatic Server Recovery (ASR)) event will occur.
 
- The hpwdt driver also has three (3) module parameters. They are the following:
+ The hpwdt driver also has the following module parameters:
 
  soft_margin - allows the user to set the watchdog timer value.
Default value is 30 seconds.
- allow_kdump - allows the user to save off a kernel dump image after an NMI.
-   Default value is 1/ON
+ timeout - an alias of soft_margin.
+ pretimeout  - allows the user to set the watchdog pretimeout value.
+   This is the number of seconds before timeout when an
+   NMI is delivered to the system. Setting the value to
+   zero disables the pretimeout NMI.
+   Default value is 9 seconds.
  nowayout- basic watchdog parameter that does not allow the timer to
be restarted or an impending ASR to be escaped.
Default value is set when compiling the kernel. If it is set
@@ -37,61 +38,29 @@ Last reviewed: 05/20/2016
interface to /dev/watchdog can be found in
Documentation/watchdog/watchdog-api.txt and Documentation/IPMI.txt.
 
- The NMI sourcing capability is disabled by default due to the inability to
- distinguish between "NMI Watchdog Ticks" and "HW generated NMI events" in the
- Linux kernel. What this means is that the hpwdt nmi handler code is called
- each time the NMI signal fires off. This could amount to several thousands of
- NMIs in a matter of seconds. If a user sees the Linux kernel's "dazed and
- confused" message in the logs or if the system gets into a hung state, then
- the hpwdt driver can be reloaded.
-
- 1. If the kernel has not been booted with nmi_watchdog turned off then
-edit and place the nmi_watchdog=0 at the end of the currently booting
-kernel line. Depending on your Linux distribution and platform setup:
-For non-UEFI systems
-   /boot/grub/grub.conf   or
-   /boot/grub/menu.lst
-For UEFI systems
-  /boot/efi/EFI/distroname/grub.conf   or
-  /boot/efi/efi/distroname/elilo.conf
- 2. reboot the sever
- 3. Once the system comes up perform a modprobe -r hpwdt
- 4. modprobe /lib/modules/`uname -r`/kernel/drivers/watchdog/hpwdt.ko
-
- Now, the hpwdt can successfully receive and source the NMI and provide a log
- message that details the reason for the NMI (as determined by the HPE BIOS).
-
- Below is a list of NMIs the HPE BIOS understands along with the associated
- code (reason):
-
-   No source found00h
-
-   Uncorrectable Memory Error 01h
-
-   ASR NMI1Bh
-
-   PCI Parity Error   20h
-
-   NMI Button Press   27h
-
-   SB_BUS_NMI 28h
-
-   ILO Doorbell NMI   29h
-
-   ILO IOP NMI2Ah
-
-   ILO Watchdog NMI   2Bh
-
-   Proc Throt NMI 2Ch
+ Due to limitations in the iLO hardware, the NMI pretimeout if enabled,
+ can only be set to 9 seconds.  Attempts to set pretimeout to other
+ non-zero values will be rounded, possibly to zero.  Users should verify
+ the pretimeout value after attempting to set pretimeout or timeout.
 
-   Front Side Bus NMI 2Dh
+ Upon receipt of an NMI from the iLO, the hpwdt driver will initiate a
+ panic. This is to allow for a crash dump to be collected.  It is 

[PATCH] watchdog: hpwdt: Update Driver Documentation.

2018-08-20 Thread Jerry Hoemann
Remove references to deprecated features like NMI sourcing
and obsoleted module parameters.

Add details concerning new module parameter pretimeout and tips
to programming it.

Signed-off-by: Jerry Hoemann 
---
 Documentation/watchdog/hpwdt.txt | 93 ++--
 1 file changed, 31 insertions(+), 62 deletions(-)

diff --git a/Documentation/watchdog/hpwdt.txt b/Documentation/watchdog/hpwdt.txt
index 6d866c537127..55df692c5595 100644
--- a/Documentation/watchdog/hpwdt.txt
+++ b/Documentation/watchdog/hpwdt.txt
@@ -1,15 +1,12 @@
-Last reviewed: 05/20/2016
+Last reviewed: 08/20/2018
 
  HPE iLO NMI Watchdog Driver
-  NMI sourcing for iLO based ProLiant Servers
- Documentation and Driver by
- Thomas Mingarelli
+   for iLO based ProLiant Servers
 
  The HPE iLO NMI Watchdog driver is a kernel module that provides basic
- watchdog functionality and the added benefit of NMI sourcing. Both the
- watchdog functionality and the NMI sourcing capability need to be enabled
- by the user. Remember that the two modes are not dependent on one another.
- A user can have the NMI sourcing without the watchdog timer and vice-versa.
+ watchdog functionality and handler for the iLO "Generate NMI to System"
+ virtual button.
+
  All references to iLO in this document imply it also works on iLO2 and all
  subsequent generations.
 
@@ -21,12 +18,16 @@ Last reviewed: 05/20/2016
  not be updated in a timely fashion and a hardware system reset (also known as
  an Automatic Server Recovery (ASR)) event will occur.
 
- The hpwdt driver also has three (3) module parameters. They are the following:
+ The hpwdt driver also has the following module parameters:
 
  soft_margin - allows the user to set the watchdog timer value.
Default value is 30 seconds.
- allow_kdump - allows the user to save off a kernel dump image after an NMI.
-   Default value is 1/ON
+ timeout - an alias of soft_margin.
+ pretimeout  - allows the user to set the watchdog pretimeout value.
+   This is the number of seconds before timeout when an
+   NMI is delivered to the system. Setting the value to
+   zero disables the pretimeout NMI.
+   Default value is 9 seconds.
  nowayout- basic watchdog parameter that does not allow the timer to
be restarted or an impending ASR to be escaped.
Default value is set when compiling the kernel. If it is set
@@ -37,61 +38,29 @@ Last reviewed: 05/20/2016
interface to /dev/watchdog can be found in
Documentation/watchdog/watchdog-api.txt and Documentation/IPMI.txt.
 
- The NMI sourcing capability is disabled by default due to the inability to
- distinguish between "NMI Watchdog Ticks" and "HW generated NMI events" in the
- Linux kernel. What this means is that the hpwdt nmi handler code is called
- each time the NMI signal fires off. This could amount to several thousands of
- NMIs in a matter of seconds. If a user sees the Linux kernel's "dazed and
- confused" message in the logs or if the system gets into a hung state, then
- the hpwdt driver can be reloaded.
-
- 1. If the kernel has not been booted with nmi_watchdog turned off then
-edit and place the nmi_watchdog=0 at the end of the currently booting
-kernel line. Depending on your Linux distribution and platform setup:
-For non-UEFI systems
-   /boot/grub/grub.conf   or
-   /boot/grub/menu.lst
-For UEFI systems
-  /boot/efi/EFI/distroname/grub.conf   or
-  /boot/efi/efi/distroname/elilo.conf
- 2. reboot the sever
- 3. Once the system comes up perform a modprobe -r hpwdt
- 4. modprobe /lib/modules/`uname -r`/kernel/drivers/watchdog/hpwdt.ko
-
- Now, the hpwdt can successfully receive and source the NMI and provide a log
- message that details the reason for the NMI (as determined by the HPE BIOS).
-
- Below is a list of NMIs the HPE BIOS understands along with the associated
- code (reason):
-
-   No source found00h
-
-   Uncorrectable Memory Error 01h
-
-   ASR NMI1Bh
-
-   PCI Parity Error   20h
-
-   NMI Button Press   27h
-
-   SB_BUS_NMI 28h
-
-   ILO Doorbell NMI   29h
-
-   ILO IOP NMI2Ah
-
-   ILO Watchdog NMI   2Bh
-
-   Proc Throt NMI 2Ch
+ Due to limitations in the iLO hardware, the NMI pretimeout if enabled,
+ can only be set to 9 seconds.  Attempts to set pretimeout to other
+ non-zero values will be rounded, possibly to zero.  Users should verify
+ the pretimeout value after attempting to set pretimeout or timeout.
 
-   Front Side Bus NMI 2Dh
+ Upon receipt of an NMI from the iLO, the hpwdt driver will initiate a
+ panic. This is to allow for a crash dump to be collected.  It is