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

Re: [Xen-devel] [PATCH 01/16] VMX: reduce number of posted-interrupt hooks



>>> On 19.07.18 at 03:51, <kevin.tian@xxxxxxxxx> wrote:
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -78,6 +78,10 @@ static int vmx_msr_write_intercept(unsig
>>  static void vmx_invlpg(struct vcpu *v, unsigned long vaddr);
>>  static int vmx_vmfunc_intercept(struct cpu_user_regs *regs);
>> 
>> +/* Values for domain's ->arch.hvm_domain.pi_ops.flags. */
>> +#define PI_CSW_FROM (1u << 0)
>> +#define PI_CSW_TO   (1u << 1)
>> +
>>  struct vmx_pi_blocking_vcpu {
>>      struct list_head     list;
>>      spinlock_t           lock;
>> @@ -330,8 +334,7 @@ void vmx_pi_hooks_assign(struct domain *
>>       * This can make sure the PI (especially the NDST feild) is
>>       * in proper state when we call vmx_vcpu_block().
>>       */
>> -    d->arch.hvm_domain.pi_ops.switch_from = vmx_pi_switch_from;
>> -    d->arch.hvm_domain.pi_ops.switch_to = vmx_pi_switch_to;
>> +    d->arch.hvm_domain.pi_ops.flags = PI_CSW_FROM | PI_CSW_TO;
>> 
>>      for_each_vcpu ( d, v )
>>      {
>> @@ -347,7 +350,6 @@ void vmx_pi_hooks_assign(struct domain *
>>      }
>> 
>>      d->arch.hvm_domain.pi_ops.vcpu_block = vmx_vcpu_block;
>> -    d->arch.hvm_domain.pi_ops.do_resume = vmx_pi_do_resume;
>>  }
>> 
>>  /* This function is called when pcidevs_lock is held */
>> @@ -384,8 +386,7 @@ void vmx_pi_hooks_deassign(struct domain
>>       * 'switch_to' hook function.
>>       */
>>      d->arch.hvm_domain.pi_ops.vcpu_block = NULL;
>> -    d->arch.hvm_domain.pi_ops.switch_from = NULL;
>> -    d->arch.hvm_domain.pi_ops.do_resume = NULL;
>> +    d->arch.hvm_domain.pi_ops.flags = PI_CSW_FROM;
> 
> Doesn't it bring functional change ('from' hook was cleared but now
> you still get the flag set)?

Urgh - of course this was meant to be PI_CSW_TO.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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