Re: Catching NForce2 lockup with NMI watchdog

From: Richard B. Johnson
Date: Tue Dec 16 2003 - 11:43:05 EST


On Tue, 16 Dec 2003, Maciej W. Rozycki wrote:

> On Tue, 16 Dec 2003, Richard B. Johnson wrote:
>
> > Masking OFF the timer channel 0 in the interrupt controller
> > is probably the easiest thing to do. The port is read-write,
> > and the OCW default to having it accessible.
>
> Note we are writing about configurations involving an I/O APIC, so things
> are not that easy -- the 8254 timer IRQ may be wired in different ways.
>
> --
> + Maciej W. Rozycki, Technical University of Gdansk, Poland +
> +--------------------------------------------------------------+
> + e-mail: macro@xxxxxxxxxxxxx, PGP key available +


Well if I was trying to isolate a problem, I would make it
that easy. You boot the machine in its simplist configuration
and work "up" from there.

Although I haven't looked at recent source-code, with APIC, the
problem is even simpler. If you booted with APIC, just set
the global "using_apic_timer" to zero and, voila`, timer-ticks
stop.

Any any event, the caller needs to know that if there is
any code executing anywhere that does the equivalent of

for(;;)
;

...the machine will lock-up forever because without that timer,
there will be no preemption. Once a CPU-hog gets the CPU, only
and interrupt can get it away.


Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.


-
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/