Re: [PATCH] xen: Don't call arch_trigger_all_cpu_backtrace in dom0(pvm)

From: Zhenzhong Duan
Date: Mon Apr 01 2013 - 01:26:16 EST



On 2013-03-29 21:46, Konrad Rzeszutek Wilk wrote:
On Fri, Mar 29, 2013 at 03:22:38PM +0800, Zhenzhong Duan wrote:
nmi isn't supported in dom0, fallback to general all cpu backtrace code.

Without fix, on xapic system, sysrq+l, no backtrace is showed.
On x2apic enabled system, got NULL pointer dereference as below.
Why would the x2APIC or xAPIC make a difference here? The Linux dom0
is not fiddling with the APIC - that is the hypervisor job.
In x2apic enabled system, dom0 kernel set apic pointer to apic_x2apic_cluster or apic_x2apic_phys.
When sending nmi, apic->send_IPI_all copy cpumask which isn't initialized.
For xapic system, apic->send_IPI_all=xen_send_IPI_all apic, this func does nothing for nmi, so no backtrace.
Can you explain to me why x2apic_send_IPI_mask is even set? Wouldn't
the Xen version of send_IPI be present? (See xen_smp_ops)
It's overwrited by x2apic initialization.
The problem is even without overwrite, like xapic system, xen_send_IPI_all doesn't work for nmi vector.
zduan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/