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

Re: [Xen-devel] [PATCH v12 1/7] passthrough: don't migrate pirq when it is delivered through VT-d PI



Cc: kevin

On Fri, Apr 07, 2017 at 04:38:00AM -0600, Jan Beulich wrote:
>>>> On 06.04.17 at 02:30, <chao.gao@xxxxxxxxx> wrote:
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -438,6 +438,9 @@ static int hvm_migrate_pirq(struct domain *d, struct 
>> hvm_pirq_dpci *pirq_dpci,
>>      struct vcpu *v = arg;
>>  
>>      if ( (pirq_dpci->flags & HVM_IRQ_DPCI_MACH_MSI) &&
>> +         (pirq_dpci->flags & HVM_IRQ_DPCI_GUEST_MSI) &&
>> +         /* Needn't migrate pirq if this pirq is delivered to guest 
>> directly.*/
>> +         (!pirq_dpci->gmsi.posted) &&
>>           (pirq_dpci->gmsi.dest_vcpu_id == v->vcpu_id) )
>>      {
>
>I don't think I've seen you address Kevin's comment on this for v11,
>and like Kevin I can't immediately see why the above addition would
>be correct. Do you perhaps mean
>
>    if ( (pirq_dpci->flags & HVM_IRQ_DPCI_MACH_MSI) &&
>         /* Needn't migrate pirq if this pirq is delivered to guest directly.*/
>         (!pirq_dpci->gmsi.posted ||
>          <whatever is appropriate here, if anything>) &&
>         (pirq_dpci->gmsi.dest_vcpu_id == v->vcpu_id) )

Sorry to Kevin. And thanks to point it out. 
But I thought we had discussed this in 
https://lists.xenproject.org/archives/html/xen-devel/2017-03/msg04383.html. I 
did think you agreed with me.
gmsi is invalid when pirq_dpci is not GUEST_MSI, is there something I have
ignored?

Thanks
Chao

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

 


Rackspace

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