Message ID | 1477622259-3476-4-git-send-email-feng.wu@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 28.10.16 at 04:37, <feng.wu@intel.com> wrote: > We should remove the vCPU from the per-cpu blocking list > if it is going to be destroyed. I think I did raise this question at least once before: Why can it still be on the list in the first place, after patch 2? This is even more odd with ... > --- a/xen/arch/x86/hvm/vmx/vmx.c > +++ b/xen/arch/x86/hvm/vmx/vmx.c > @@ -338,6 +338,7 @@ static void vmx_vcpu_destroy(struct vcpu *v) > * separately here. > */ > vmx_vcpu_disable_pml(v); > + vmx_pi_unblock_vcpu(v); ... the renamed function: A vCPU being destroyed can hardly get unblocked. If the apparently proper solution (removing devices from a domain before destroying its vCPU-s) is not possible or feasible for some reason, then the commit message should say so (and explain why). Jan
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 508be7c..eb4770c 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -338,6 +338,7 @@ static void vmx_vcpu_destroy(struct vcpu *v) * separately here. */ vmx_vcpu_disable_pml(v); + vmx_pi_unblock_vcpu(v); vmx_destroy_vmcs(v); vpmu_destroy(v); passive_domain_destroy(v);
We should remove the vCPU from the per-cpu blocking list if it is going to be destroyed. Signed-off-by: Feng Wu <feng.wu@intel.com> --- v6: - Use vmx_pi_unblock_vcpu() instead of vmx_pi_list_remove() v5: - Use vmx_pi_list_remove() instead of vmx_pi_list_cleanup() v4: - Call vmx_pi_list_cleanup() before vmx_destroy_vmcs() xen/arch/x86/hvm/vmx/vmx.c | 1 + 1 file changed, 1 insertion(+)