>>> On 21.11.14 at 12:50, <konrad.w...@oracle.com> wrote:
> On November 21, 2014 2:51:33 AM EST, Jan Beulich <jbeul...@suse.com> wrote:
>>>>> On 20.11.14 at 20:51, <konrad.w...@oracle.com> wrote:
>>> @@ -669,7 +670,7 @@ static void hvm_dirq_assist(struct domain *d,
>>struct hvm_pirq_dpci *pirq_dpci)
>>>      ASSERT(d->arch.hvm_domain.irq.dpci);
>>>  
>>>      spin_lock(&d->event_lock);
>>> -    if ( pirq_dpci->state )
>>> +    if ( test_and_clear_bool(pirq_dpci->masked) )
>>>      {
>>>          struct pirq *pirq = dpci_pirq(pirq_dpci);
>>>          const struct dev_intx_gsi_link *digl;
>>
>>So this now guards solely against the timeout enforced EOI? Why do
>>you no longer need to guard against cancellation (i.e. why isn't this
>>looking at both ->state and ->masked)?
>>
> 
> The previous state check was superfluous as the dpci_softirq would check for 
> the valid STATE_ before calling hvm_dirq_assist (and deal with cancellation).

I thought so first too, but then how is the guarding against
cancellation working now?

Jan


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

Reply via email to