Messages in this thread Patch in this message | | | Date | 6 Aug 2003 02:07:16 +0200 | Date | Wed, 6 Aug 2003 02:07:16 +0200 | From | Andi Kleen <> | Subject | Re: [PATCH] Export touch_nmi_watchdog |
| |
On Tue, Aug 05, 2003 at 03:14:00PM -0700, Linus Torvalds wrote: > #ifdef CONFIG_WATCHDOG > #warning This driver does bad things and will not work > #endif
Well the problem is that many of my multiple CPU testboxes have a fusion controller (it's the standard on board chip on the AMD Quartet and Newisys systems).
At least for my testing it would be quite inconvenient to not have the watchdog. I also don't see anybody comming around and fixing the SCSI error handler of that driver (scsi error handlers seem to be always very bad code, undoubtedly because it's a ugly problem)
(fortunately errors happen only infrequently, usually when I break something else...)
But still I would prefer the NMI watchdog not triggering then.
> So let the user know. Don't just silently say "let's kick the watchdog".
How about this approach:
Define a new function driver_touch_watchdog() for export and it printks something the first time it is used.
--- linux-2.6.0test2-amd64/arch/i386/kernel/nmi.c-o 2003-07-11 03:09:18.000000000 +0200 +++ linux-2.6.0test2-amd64/arch/i386/kernel/nmi.c 2003-08-06 02:03:41.000000000 +0200 @@ -25,6 +25,7 @@ #include <linux/module.h> #include <linux/nmi.h> #include <linux/sysdev.h> +#include <linux/kallsyms.h> #include <asm/smp.h> #include <asm/mtrr.h> @@ -455,3 +456,18 @@ EXPORT_SYMBOL(enable_lapic_nmi_watchdog); EXPORT_SYMBOL(disable_timer_nmi_watchdog); EXPORT_SYMBOL(enable_timer_nmi_watchdog); + +/* Deprecated function to silence the NMI watchdog for long waits. + Better fix the driver instead of using this. */ +void driver_touch_watchdog(void) +{ + static int used; + if (!used) { + print_symbol(KERN_ERR "Function %s uses driver_touch_watchdog.\n", + __builtin_return_address(0)); + } + used = 1; + touch_nmi_watchdog(); +} + +EXPORT_SYMBOL(driver_touch_watchdog); -Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |