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

[Xen-devel] [PATCH] x86/xen: Improve failed hypercall debugging



When fiddling with xen_exit_mmap(), I noticed that failed multicall
debugging doesn't work if the multicall is just one call.  Fix it.

Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
---
 arch/x86/xen/multicalls.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/arch/x86/xen/multicalls.c b/arch/x86/xen/multicalls.c
index ea54a08d8301..b6b3f024d342 100644
--- a/arch/x86/xen/multicalls.c
+++ b/arch/x86/xen/multicalls.c
@@ -96,23 +96,23 @@ void xen_mc_flush(void)
                for (i = 0; i < b->mcidx; i++)
                        if (b->entries[i].result < 0)
                                ret++;
+       }
 
 #if MC_DEBUG
-               if (ret) {
-                       printk(KERN_ERR "%d multicall(s) failed: cpu %d\n",
-                              ret, smp_processor_id());
-                       dump_stack();
-                       for (i = 0; i < b->mcidx; i++) {
-                               printk(KERN_DEBUG "  call %2d/%d: op=%lu 
arg=[%lx] result=%ld\t%pF\n",
-                                      i+1, b->mcidx,
-                                      b->debug[i].op,
-                                      b->debug[i].args[0],
-                                      b->entries[i].result,
-                                      b->caller[i]);
-                       }
+       if (ret) {
+               printk(KERN_ERR "%d multicall(s) failed: cpu %d\n",
+                      ret, smp_processor_id());
+               dump_stack();
+               for (i = 0; i < b->mcidx; i++) {
+                       printk(KERN_DEBUG "  call %2d/%d: op=%lu arg=[%lx] 
result=%ld\t%pF\n",
+                              i+1, b->mcidx,
+                              b->debug[i].op,
+                              b->debug[i].args[0],
+                              b->entries[i].result,
+                              b->caller[i]);
                }
-#endif
        }
+#endif
 
        b->mcidx = 0;
        b->argidx = 0;
-- 
2.9.3


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

 


Rackspace

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