Re: NMI problems with Dell SMP Xeons

Rajesh Shah
2006-06-07T18:51:43Z

On Wed, Jun 07, 2006 at 03:18:57PM +0000, Brendan Trotter wrote:
>
> > I will try forcing send_IPI_allbutself() to use the mask version rather
> > than the broadcast shortcut. Later tonight ...
>
> I've been looking into this a little - it appears that Linux tries to
> use one bit per CPU in the local APIC's "logical destination register"
> and that in all cases at least one bit is set for each valid CPU. As
> far as I can tell sending an NMI (or any other broadcast IPI) in
> logical mode with no shorthand and "destination = 0xFF" should work
> fine for both "cluster mode" and "flat mode". In this case I'd also
> suggest that "clear_local_APIC()" clear the destination format
> register (DFR) and the logical destination register (LDR) so that it
> doesn't receive broadcast NMIs if the CPU is taken offline.
>
I will double-check with the CPU folks, but I don't think this
will do what you want it to do. If you send an NMI IPI with
destination set to 0xff, I think it will interrupt all CPUs,
including the non-started CPUs in the cli;hlt state. If I
remember right, the destination shorthand method simply
sends the interrupt on the bus with destination set to
0xff..

Rajesh