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

Re: [Xen-devel] Xen-unstable: Xen panic when shutting down HVM guest with PCI passthrough: RIP: e008:[<ffff82d0801099b1>] evtchn_move_pirqs+0x90/0xbf

On 06/05/2014 06:22 PM, Andrew Cooper wrote:
On 05/06/14 17:03, Sander Eikelenboom wrote:
Thursday, June 5, 2014, 5:03:24 PM, you wrote:

On 05/06/14 15:54, Sander Eikelenboom       wrote:

When shutting down a HVM guest with PCI passthrough Xen panics with the panic
below (complete xl-dmesg attached).
# addr2line -e xen-syms ffff82d0801099b1
which is:
         pirq_set_affinity(d, chn->u.pirq.irq, mask);

      This is presumably an ordering issue on destroy.

      Does reverting bac6334b5 fix the problem?

Hi Andrew,

That seems to have been a good hunch, after reverting that commit i have been
able to repeatedly create and shutdown the guest with passthrough, without a 


CC'ing George and Juergen as the authors of the identified patch

c/s bac6334b5 "move domain to cpupool0 before destroying it" appears to
cause the crash identified the root of this thread.

It appears to now move event channels after having torn parts of the
event channel infrastructure.

Hmm, does the following patch fix it?


diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index c174c41..3ea9fc8 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -297,7 +297,8 @@ int sched_move_domain(struct domain *d, struct cpupool *c)

         v->sched_priv = vcpu_priv[v->vcpu_id];
-        evtchn_move_pirqs(v);
+        if ( !d->is_dying )
+            evtchn_move_pirqs(v);

         new_p = cpumask_cycle(new_p, c->cpu_valid);

Xen-devel mailing list



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