diff options
author | Tom Mingarelli <thomas.mingarelli@hp.com> | 2009-06-18 19:28:57 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2009-06-23 03:13:45 -0400 |
commit | 44df75353bc8f32e26e049284053a61d4f1047d6 (patch) | |
tree | 8ac01af7888c6d5c3746d30834fd63a148305078 /Documentation/watchdog | |
parent | 789cd4702bf830416d2e1794495407be42fe95ad (diff) |
[WATCHDOG] hpwdt: Add NMI priority option
Add a priority option so that the user can choose if we do the NMI
first or last.
Signed-off-by: Thomas Mingarelli <thomas.mingarelli@hp.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'Documentation/watchdog')
-rw-r--r-- | Documentation/watchdog/hpwdt.txt | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/Documentation/watchdog/hpwdt.txt b/Documentation/watchdog/hpwdt.txt index 127839e53043..9c24d5ffbb06 100644 --- a/Documentation/watchdog/hpwdt.txt +++ b/Documentation/watchdog/hpwdt.txt | |||
@@ -19,30 +19,41 @@ Last reviewed: 06/02/2009 | |||
19 | not be updated in a timely fashion and a hardware system reset (also known as | 19 | not be updated in a timely fashion and a hardware system reset (also known as |
20 | an Automatic Server Recovery (ASR)) event will occur. | 20 | an Automatic Server Recovery (ASR)) event will occur. |
21 | 21 | ||
22 | The hpwdt driver also has three (3) module parameters. They are the following: | 22 | The hpwdt driver also has four (4) module parameters. They are the following: |
23 | 23 | ||
24 | soft_margin - allows the user to set the watchdog timer value | 24 | soft_margin - allows the user to set the watchdog timer value |
25 | allow_kdump - allows the user to save off a kernel dump image after an NMI | 25 | allow_kdump - allows the user to save off a kernel dump image after an NMI |
26 | nowayout - basic watchdog parameter that does not allow the timer to | 26 | nowayout - basic watchdog parameter that does not allow the timer to |
27 | be restarted or an impending ASR to be escaped. | 27 | be restarted or an impending ASR to be escaped. |
28 | priority - determines whether or not the hpwdt driver is first on the | ||
29 | die_notify list to handle NMIs or last. The default value | ||
30 | for this module parameter is 0 or LAST. If the user wants to | ||
31 | enable NMI sourcing then reload the hpwdt driver with | ||
32 | priority=1 (and boot with nmi_watchdog=0). | ||
28 | 33 | ||
29 | NOTE: More information about watchdog drivers in general, including the ioctl | 34 | NOTE: More information about watchdog drivers in general, including the ioctl |
30 | interface to /dev/watchdog can be found in | 35 | interface to /dev/watchdog can be found in |
31 | Documentation/watchdog/watchdog-api.txt and Documentation/IPMI.txt. | 36 | Documentation/watchdog/watchdog-api.txt and Documentation/IPMI.txt. |
32 | 37 | ||
33 | The NMI sourcing capability is disabled when the driver discovers that the | 38 | The priority parameter was introduced due to other kernel software that relied |
34 | nmi_watchdog is turned on (nmi_watchdog = 1). This is due to the inability to | 39 | on handling NMIs (like oprofile). Keeping hpwdt's priority at 0 (or LAST) |
40 | enables the users of NMIs for non critical events to be work as expected. | ||
41 | |||
42 | The NMI sourcing capability is disabled by default due to the inability to | ||
35 | distinguish between "NMI Watchdog Ticks" and "HW generated NMI events" in the | 43 | distinguish between "NMI Watchdog Ticks" and "HW generated NMI events" in the |
36 | Linux kernel. What this means is that the hpwdt nmi handler code is called | 44 | Linux kernel. What this means is that the hpwdt nmi handler code is called |
37 | each time the NMI signal fires off. This could amount to several thousands of | 45 | each time the NMI signal fires off. This could amount to several thousands of |
38 | NMIs in a matter of seconds. If a user sees the Linux kernel's "dazed and | 46 | NMIs in a matter of seconds. If a user sees the Linux kernel's "dazed and |
39 | confused" message in the logs or if the system gets into a hung state, then | 47 | confused" message in the logs or if the system gets into a hung state, then |
40 | the user should reboot with nmi_watchdog=0. | 48 | the hpwdt driver can be reloaded with the "priority" module parameter set |
49 | (priority=1). | ||
41 | 50 | ||
42 | 1. If the kernel has not been booted with nmi_watchdog turned off then | 51 | 1. If the kernel has not been booted with nmi_watchdog turned off then |
43 | edit /boot/grub/menu.lst and place the nmi_watchdog=0 at the end of the | 52 | edit /boot/grub/menu.lst and place the nmi_watchdog=0 at the end of the |
44 | currently booting kernel line. | 53 | currently booting kernel line. |
45 | 2. reboot the sever | 54 | 2. reboot the sever |
55 | 3. Once the system comes up perform a rmmod hpwdt | ||
56 | 4. insmod /lib/modules/`uname -r`/kernel/drivers/char/watchdog/hpwdt.ko priority=1 | ||
46 | 57 | ||
47 | Now, the hpwdt can successfully receive and source the NMI and provide a log | 58 | Now, the hpwdt can successfully receive and source the NMI and provide a log |
48 | message that details the reason for the NMI (as determined by the HP BIOS). | 59 | message that details the reason for the NMI (as determined by the HP BIOS). |