|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] irq: Add extra debugging to help track down why an assertion is failing
# HG changeset patch
# User Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
# Date 1328640252 0
# Node ID 96987c324a4f42bf642e3e15e8e8fff331fef182
# Parent f84f34ec5fc7613d7a6dd53d18218656c11f0daa
irq: Add extra debugging to help track down why an assertion is failing
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Acked-by: Keir Fraser <keir@xxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
diff -r f84f34ec5fc7 -r 96987c324a4f xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c Tue Feb 07 17:21:27 2012 +0000
+++ b/xen/arch/x86/irq.c Tue Feb 07 18:44:12 2012 +0000
@@ -608,6 +608,8 @@
desc->handler->enable(desc);
}
+static void dump_irqs(unsigned char key);
+
fastcall void smp_irq_move_cleanup_interrupt(struct cpu_user_regs *regs)
{
unsigned vector, me;
@@ -667,7 +669,18 @@
if ( desc->arch.used_vectors )
{
- ASSERT(test_bit(vector, desc->arch.used_vectors));
+ if ( unlikely(!test_bit(vector, desc->arch.used_vectors)) )
+ {
+ bitmap_scnlistprintf(keyhandler_scratch,
+ sizeof(keyhandler_scratch),
+ desc->arch.used_vectors->_bits,
+ NR_VECTORS);
+ printk("*** IRQ BUG found ***\n"
+ "CPU%d -Testing vector %d from bitmap %s\n",
+ me, vector, keyhandler_scratch);
+ dump_irqs('i');
+ BUG();
+ }
clear_bit(vector, desc->arch.used_vectors);
}
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |