On 12 Oct 2005 16:40:34 -0400, 
Jim Houston <[EMAIL PROTECTED]> wrote:
>Hi Keith,
>
>We noticed that kdb can trigger the NMI watchdog if a relatively
>slow baud rate is used on the serial console and kdb produces too
>much output.  The attached patch adds touch_nmi_calls() to
>kdb_printf after each console write call.
>
>Jim Houston - Concurrent Computer Corp.
>
>--- 2.6-redhawk/kdb/kdb_io.c.0 2005-09-23 18:04:01.000000000 -0400
>+++ 2.6-redhawk/kdb/kdb_io.c   2005-10-12 12:17:49.000000000 -0400
>@@ -510,6 +510,7 @@
> 
>       while (c) {
>               c->write(c, kdb_buffer, strlen(kdb_buffer));
>+              touch_nmi_watchdog();
>               c = c->next;
>       }
>       if (logging) {
>@@ -566,6 +567,7 @@
> 
>               while (c) {
>                       c->write(c, moreprompt, strlen(moreprompt));
>+                      touch_nmi_watchdog();
>                       c = c->next;
>               }
> 

I am not keen on this patch.  Corrupt data can cause commands to loop,
generating non-stop output.  Calling touch_nmi_watchdog() in the common
output code loses the ability to catch the looping commands.  KDB
already calls touch_nmi_watchdog() in commands that produce a lot of of
output and I prefer to put those calls in the long running commands
rather directly at the output point.  That way we get protection
against looping output, while still protecting the commands that are
expected to generate a lot of output.

Which KDB commands are tripping the nmi watchdog?

---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.

Reply via email to