[SPARC64]: More SUN4V cpu mondo bug fixing.
authorDavid S. Miller <davem@sunset.davemloft.net>
Fri, 3 Mar 2006 05:50:47 +0000 (21:50 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 20 Mar 2006 09:14:17 +0000 (01:14 -0800)
commit3cab0c3e8636d5005041aa52224f796c3a4ef872
tree582c92940f46cb0ecf8fafd4fde1cfd346172366
parentbcc28ee0bf390df0d81cc9dafe980faef6b2771a
[SPARC64]: More SUN4V cpu mondo bug fixing.

This cpu mondo sending interface isn't all that easy to
use correctly...

We were clearing out the wrong bits from the "mask" after getting
something other than EOK from the hypervisor.

It turns out the hypervisor can just be resent the same cpu_list[]
array, with the 0xffff "done" entries still in there, and it will do
the right thing.

So don't update or try to rebuild the cpu_list[] array to condense it.

This requires the "forward_progress" check to be done slightly
differently, but this new scheme is less bug prone than what we were
doing before.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/smp.c