|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |