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 actually had an cleanup patch that would have removed the 'if 
(pirq_dpci->state) ' and move the code for Xen 4.6.

Anyhow waiting to see if Sander was able to test with this patch.

>Jan



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

Reply via email to