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

Re: [Xen-devel] [PATCH 1/4] xen/events: Clear cpu_evtchn_mask before resuming



On 04/29/2015 01:59 PM, David Vrabel wrote:
On 29/04/15 17:54, Boris Ostrovsky wrote:
On 04/29/2015 12:32 PM, David Vrabel wrote:
On 28/04/15 19:29, Boris Ostrovsky wrote:
On 04/28/2015 12:28 PM, David Vrabel wrote:
   From the commit log the evtchn_2l_resume() fucntion that's added
sounds
like it fixes the problem on its own?
It in fact makes this problem worse since now that cpu_evtchn_mask is
cleared during resume we cannot process the interrupt anymore in
evtchn_2l_handle_events(): irqs have to be bound to a cpu in order for
an interrupt to be processed.
Perhaps evtchn_2l_resume() should set the local cpu mask for any bound
event channels? And then you wouldn't need IRQ_MOVE_PCNTX.
But then (at least in 2-level case) more than one VCPUs may pick the
same interrupt, won't they? Because the local cpu mask is what tells a
VCPU that it is allowed to claim an interrupt.

We know that all event channels at this point are on VCPU0 (right?) so
we only set the bit in that VCPU's mask.

This is pretty much what I was suggesting since setting the mask is done via bind_evtchn_to_cpu(). Except that I also want to call EVTCHNOP_bind_vcpu before that, just in case.

-boris

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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