When using the register dump feature of Xen, one will often see a
message about an IPI finish stall.  This is because we expected IPI
handlers to run very quickly, but in this case, the handler is doing a
lot of console I/O in order to print the register contents.  So relax
the stall timeout.

Signed-off-by: Amos Waterland <[EMAIL PROTECTED]>

---

 smp.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff -r a8e67a19c325 xen/arch/powerpc/smp.c
--- a/xen/arch/powerpc/smp.c    Tue Nov 28 10:33:53 2006 -0500
+++ b/xen/arch/powerpc/smp.c    Tue Nov 28 13:29:50 2006 -0500
@@ -91,6 +91,7 @@ int on_selected_cpus(
     int wait)
 {
     int t, retval = 0, nr_cpus = cpus_weight(selected);
+    int stall = timebase_freq * 10;
 
     spin_lock(&call_lock);
 
@@ -106,7 +107,7 @@ int on_selected_cpus(
 
     /* We always wait for an initiation ACK from remote CPU.  */
     for (t = 0; atomic_read(&call_data.started) != nr_cpus; t++) {
-        if (t && t % timebase_freq == 0) {
+        if (t > 0 && t % stall == 0) {
             printk("IPI start stall: %d ACKS to %d SYNS\n", 
                    atomic_read(&call_data.started), nr_cpus);
         }
@@ -115,7 +116,7 @@ int on_selected_cpus(
     /* If told to, we wait for a completion ACK from remote CPU.  */
     if (wait) {
         for (t = 0; atomic_read(&call_data.finished) != nr_cpus; t++) {
-            if (t > timebase_freq && t % timebase_freq == 0) {
+            if (t > 0 && t % stall == 0) {
                 printk("IPI finish stall: %d ACKS to %d SYNS\n", 
                        atomic_read(&call_data.finished), nr_cpus);
             }

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to