[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] xen: Send the debug VIRQ to guests after the rest of the domain dump is done.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1279284687 -3600
# Node ID 1f7c2418e58c7d1d5650ea211016b30114de48f2
# Parent  c4a83e3cc6b435cc559450bbcd8b2ba7a801964f
xen: Send the debug VIRQ to guests after the rest of the domain dump is done.

Send the debug VIRQ to guests after the rest of the domain dump is
done. This stops all the 'q' debug-key output getting interleaved with
the debug-virq output from a pv-ops dom0 kernel.

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
---
 xen/common/keyhandler.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff -r c4a83e3cc6b4 -r 1f7c2418e58c xen/common/keyhandler.c
--- a/xen/common/keyhandler.c   Thu Jul 15 18:18:16 2010 +0100
+++ b/xen/common/keyhandler.c   Fri Jul 16 13:51:27 2010 +0100
@@ -255,7 +255,7 @@ static void dump_domains(unsigned char k
                d->handle[ 8], d->handle[ 9], d->handle[10], d->handle[11],
                d->handle[12], d->handle[13], d->handle[14], d->handle[15],
                d->vm_assist);
-        for (i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++)
+        for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ )
             if ( test_bit(i, &d->watchdog_inuse_map) )
                 printk("    watchdog %d expires in %d seconds\n",
                        i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30));
@@ -268,7 +268,8 @@ static void dump_domains(unsigned char k
                
         printk("VCPU information and callbacks for domain %u:\n",
                d->domain_id);
-        for_each_vcpu ( d, v ) {
+        for_each_vcpu ( d, v )
+        {
             printk("    VCPU%d: CPU%d [has=%c] flags=%lx poll=%d "
                    "upcall_pend = %02x, upcall_mask = %02x ",
                    v->vcpu_id, v->processor,
@@ -283,7 +284,15 @@ static void dump_domains(unsigned char k
             arch_dump_vcpu_info(v);
             periodic_timer_print(tmpstr, sizeof(tmpstr), v->periodic_period);
             printk("    %s\n", tmpstr);
-            printk("    Notifying guest (virq %d, port %d, stat %d/%d/%d)\n",
+        }
+    }
+
+    for_each_domain ( d )
+    {
+        for_each_vcpu ( d, v )
+        {
+            printk("Notifying guest %d:%d (virq %d, port %d, stat %d/%d/%d)\n",
+                   d->domain_id, v->vcpu_id,
                    VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG],
                    test_bit(v->virq_to_evtchn[VIRQ_DEBUG], 
                             &shared_info(d, evtchn_pending)),

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.