[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Resend: Linux 4.11-rc7: kernel BUG at drivers/xen/events/events_base.c:1221
On 04/24/2017 10:20 AM, Sander Eikelenboom wrote: > Hi Boris, > > Nope, not that i am aware of. If you can keep console while running this, can you add these changes and see if we ever unbind the work vector (you can even add dump_stack() in __unbind_from_irq() for good measure)? (I added HHH for easy grepping) Also do 'grep -i work /proc/interrupts' so that we know which IRQ the work interrupt is. -boris diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index 7ff2f1b..fb42e82 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -136,6 +136,7 @@ void xen_smp_intr_free(unsigned int cpu) if (xen_hvm_domain()) return; + printk("HHH %s:%d cpu%d irq=%d\n", __FUNCTION__, __LINE__, cpu, per_cpu(xen_irq_work, cpu).irq); if (per_cpu(xen_irq_work, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_irq_work, cpu).irq, NULL); per_cpu(xen_irq_work, cpu).irq = -1; @@ -217,6 +218,7 @@ int xen_smp_intr_init(unsigned int cpu) if (rc < 0) goto fail; per_cpu(xen_irq_work, cpu).irq = rc; + printk("HHH %s:%d cpu%d irq=%d\n", __FUNCTION__, __LINE__, cpu, rc); per_cpu(xen_irq_work, cpu).name = callfunc_name; if (is_xen_pmu(cpu)) { @@ -615,6 +617,7 @@ static inline int xen_map_vector(int vector) break; case IRQ_WORK_VECTOR: xen_vector = XEN_IRQ_WORK_VECTOR; + printk("HHH %s:%d work interrupt on CPU%d\n", __FUNCTION__, __LINE__, smp_processor_id()); break; #ifdef CONFIG_X86_64 case NMI_VECTOR: diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c index 6a53577..c1f16f2 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -627,6 +627,7 @@ static void __unbind_from_irq(unsigned int irq) per_cpu(virq_to_irq, cpu)[virq_from_irq(irq)] = -1; break; case IRQT_IPI: + printk("HHH %s:%d cpu%d irq=%d ipi_to_irq=%d\n", __FUNCTION__, __LINE__, cpu, irq, per_cpu(ipi_to_irq, cpu)[ipi_from_irq(irq)]); per_cpu(ipi_to_irq, cpu)[ipi_from_irq(irq)] = -1; break; default: > > -- > Sander > > On 24/04/17 16:17, Boris Ostrovsky wrote: >> On 04/24/2017 06:06 AM, Sander Eikelenboom wrote: >>> Resend: Sorry copy and pasted a wrong mailadress for the xen-devel list. >>> >>> >>> Hi Boris / Juergen, >>> >>> This morning i got this dom0 kernel crash (it occurred sporadically >>> before (during 4.11), but i didn't have serial console enabled at that >>> time so i had no stacktrace, only sporadic reboots). >>> >>> It's running on an AMD phenom X6: >>> Kernel 4.11.0-rc7 with as latest commit: >>> 94836ecf1e7378b64d37624fbb81fe48fbd4c772. >>> Xen-unstable with as latest commit: >>> 94836ecf1e7378b64d37624fbb81fe48fbd4c772. >>> >>> If you need more info please ask, testing will be difficult as i don't >>> have a clear testcase and >>> it can also run for days without trouble. >> Any cpu onlining/offlining during the test? >> >> XEN_IRQ_WORK_VECTOR vector is allocated for all PV VCPUs in >> xen_smp_intr_init() so it's somewhat odd that we fail to find it. >> >> -boris >> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |