[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Quick hack to make sure that pirqs and interdomain event channels are
# HG changeset patch # User sos22@xxxxxxxxxxxxxxxxxxxx # Node ID f3f8452978219763b9e5dde244d932cf6a49d9c0 # Parent bd1642e8599ed685c31a1fcef14062d09af45880 Quick hack to make sure that pirqs and interdomain event channels are all bound to vcpu0, rather vcpu0 99% of the time and an entirely random otherwise. This make sure things work nicely when you start taking vcpus offline, since vcpu0 can't go offline; the correct solution is to allow domains to change evtchn<->vcpu bindings. Signed-off-by: Steven Smith, sos22@xxxxxxxxxxxx diff -r bd1642e8599e -r f3f845297821 xen/common/event_channel.c --- a/xen/common/event_channel.c Wed Jul 6 18:34:16 2005 +++ b/xen/common/event_channel.c Thu Jul 7 09:27:25 2005 @@ -220,10 +220,12 @@ chn1->u.interdomain.remote_dom = d2; chn1->u.interdomain.remote_port = (u16)port2; + chn1->notify_vcpu_id = 0; chn1->state = ECS_INTERDOMAIN; chn2->u.interdomain.remote_dom = d1; chn2->u.interdomain.remote_port = (u16)port1; + chn2->notify_vcpu_id = 0; chn2->state = ECS_INTERDOMAIN; out: @@ -324,8 +326,10 @@ chn = evtchn_from_port(d, port); + chn->notify_vcpu_id = 0; + d->pirq_to_evtchn[pirq] = port; - rc = pirq_guest_bind(d->vcpu[chn->notify_vcpu_id], pirq, + rc = pirq_guest_bind(d->vcpu[0], pirq, !!(bind->flags & BIND_PIRQ__WILL_SHARE)); if ( rc != 0 ) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |