Re: [patch] serial console vs NMI watchdog

Keith Owens
2001-03-12T05:53:20Z

On Sun, 11 Mar 2001 20:43:16 -0800,
george anzinger <george@mvista.com> wrote:
>Consider this. Why not use the NMI to sync the cpus. Kdb would have a
>function that is called each NMI.

kdb uses NMI IPI to get the other cpu's attention. One cpu is in
control and may or may not be accepting NMI, it depends on the event
that entered kdb. The other cpus end up in kdb code, spinning waiting
for a cpu switch. Initially they are not receiving NMI because they
were invoked via NMI which is masked until they exit. However if the
user does a cpu switch then single steps the interrupted code, the cpu
has to return from the NMI handler to the interrupted code at which
time this cpu starts receiving NMI again.

The kdb context can change from ignoring NMI to accepting NMI. It is
easier to bring all the cpus into kdb and let the kdb code decide if it
ignores any NMI that is being received.