Re: [PATCH -mm] 8250: remove not needed NMI watchdog tickle inserial8250_console_write()

From: Andrew Morton
Date: Fri Sep 15 2006 - 00:43:35 EST


On Wed, 13 Sep 2006 17:52:03 -0300
Aristeu Sergio Rozanski Filho <aris@xxxxxxxxxxxxxxxxx> wrote:

> When touch_nmi_watchdog() was added to inside the wait loop in
> wait_for_xmitr()[1], where the long delays come from, a unneeded
> touch_nmi_watchdog() call was left in the beginning of
> serial8250_console_write() (introduced in
> 78512ece148992a5c00c63fbf4404f3cde635016) and this patch reverts it.
>
> [1] http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc6/2.6.18-rc6-mm2/broken-out/tickle-nmi-watchdog-on-serial-output.patch
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc6/2.6.18-rc6-mm2/broken-out/tickle-nmi-watchdog-on-serial-output-fix.patch
> [2] http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=78512ece148992a5c00c63fbf4404f3cde635016;hp=0ad775dbba12de3b7d25f586efe81ad995ca75a7
>
> Signed-off-by: Aristeu S. Rozanski F. <aris@xxxxxxxxxxxxxxxxx>
>
> --- mm.orig/drivers/serial/8250.c 2006-09-13 17:26:53.000000000 -0300
> +++ mm/drivers/serial/8250.c 2006-09-13 17:27:14.000000000 -0300
> @@ -2263,8 +2263,6 @@
> unsigned int ier;
> int locked = 1;
>
> - touch_nmi_watchdog();
> -
> local_irq_save(flags);
> if (up->port.sysrq) {
> /* serial8250_handle_port() already took the lock */

I disagree.

If characters are flowing out at a rate which consistently exceeds
one-per-ten-milliseconds, the touch_nmi_watchdog() in wait_for_xmitr() will
never be called.

Consequently a large interrupt-time write to the serial port (ie: sysrq-T
with serial-console enabled) will cause the NMI watchdog to trigger.

No?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/