[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 |