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

[Xen-devel] [PATCH 2 of 2] xenalyze: decode PV_HYPERCALL_SUBCALL events



Decode the PV_HYPERCALL_SUBCALL events which are used for calls within
a multicall hypercall.  They are indented so its easier to see which
multicall they were part of.

Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
Acked-by: George Dunlap <george.dunlap@xxxxxxxxxx>

diff --git a/xenalyze.c b/xenalyze.c
--- a/xenalyze.c
+++ b/xenalyze.c
@@ -1487,6 +1487,7 @@ enum {
     PV_PTWR_EMULATION,
     PV_PTWR_EMULATION_PAE,
     PV_HYPERCALL_V2 = 13,
+    PV_HYPERCALL_SUBCALL = 14,
     PV_MAX
 };
 
@@ -6623,7 +6624,8 @@ static void pv_hypercall_print_args(cons
     }
 }
 
-void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv)
+void pv_hypercall_v2_process(struct record_info *ri, struct pv_data *pv,
+                             const char *indent)
 {
     int op = pv_hypercall_op(ri);
 
@@ -6636,11 +6638,11 @@ void pv_hypercall_v2_process(struct reco
         uint64_t args[6];
 
         if(op < HYPERCALL_MAX)
-            printf(" %s hypercall %2x (%s)",
-                   ri->dump_header, op, hypercall_name[op]);
+            printf(" %s%s hypercall %2x (%s)",
+                   ri->dump_header, indent, op, hypercall_name[op]);
         else
-            printf(" %s hypercall %2x",
-                   ri->dump_header, op);
+            printf(" %s%s hypercall %2x",
+                   ri->dump_header, indent, op);
 
         switch(op) {
         case HYPERCALL_mmu_update:
@@ -6709,7 +6711,10 @@ void pv_process(struct pcpu_info *p)
         pv_ptwr_emulation_process(ri, pv);
         break;
     case PV_HYPERCALL_V2:
-        pv_hypercall_v2_process(ri, pv);
+        pv_hypercall_v2_process(ri, pv, "");
+        break;
+    case PV_HYPERCALL_SUBCALL:
+        pv_hypercall_v2_process(ri, pv, " ");
         break;
     default:
         pv_generic_process(ri, pv);

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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