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

[Xen-changelog] [xen-unstable] timers: Improve debug-key printing.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1282137768 -3600
# Node ID d20cbccb6feaa4e3fab303a1080273a3de8fb613
# Parent  5218db847b58a151d8f320b7141efc984f759b35
timers: Improve debug-key printing.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/common/timer.c |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff -r 5218db847b58 -r d20cbccb6fea xen/common/timer.c
--- a/xen/common/timer.c        Tue Aug 17 19:32:37 2010 +0100
+++ b/xen/common/timer.c        Wed Aug 18 14:22:48 2010 +0100
@@ -19,6 +19,7 @@
 #include <xen/keyhandler.h>
 #include <xen/percpu.h>
 #include <xen/cpu.h>
+#include <xen/symbols.h>
 #include <asm/system.h>
 #include <asm/desc.h>
 
@@ -533,6 +534,13 @@ s_time_t align_timer(s_time_t firsttick,
     return firsttick + (period - 1) - ((firsttick - 1) % period);
 }
 
+static void dump_timer(struct timer *t, s_time_t now)
+{
+    printk("  ex=%8ldus timer=%p cb=%p(%p)",
+           (t->expires - now) / 1000, t, t->function, t->data);
+    print_symbol(" %s\n", (unsigned long)t->function);
+}
+
 static void dump_timerq(unsigned char key)
 {
     struct timer  *t;
@@ -541,28 +549,19 @@ static void dump_timerq(unsigned char ke
     s_time_t       now = NOW();
     int            i, j;
 
-    printk("Dumping timer queues: NOW=0x%08X%08X\n",
-           (u32)(now>>32), (u32)now);
+    printk("Dumping timer queues:\n");
 
     for_each_online_cpu( i )
     {
         ts = &per_cpu(timers, i);
 
-        printk("CPU[%02d] ", i);
+        printk("CPU%02d:\n", i);
         spin_lock_irqsave(&ts->lock, flags);
         for ( j = 1; j <= GET_HEAP_SIZE(ts->heap); j++ )
-        {
-            t = ts->heap[j];
-            printk ("  %d : %p ex=0x%08X%08X %p %p\n",
-                    j, t, (u32)(t->expires>>32), (u32)t->expires,
-                    t->data, t->function);
-        }
+            dump_timer(ts->heap[j], now);
         for ( t = ts->list, j = 0; t != NULL; t = t->list_next, j++ )
-            printk (" L%d : %p ex=0x%08X%08X %p %p\n",
-                    j, t, (u32)(t->expires>>32), (u32)t->expires,
-                    t->data, t->function);
+            dump_timer(t, now);
         spin_unlock_irqrestore(&ts->lock, flags);
-        printk("\n");
     }
 }
 

_______________________________________________
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®.