[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] credit scheduler issues in 64bit hypervisor
>> This is caused by a vmcs bug, the root cause is on x86_64, a >VMX domain >> is killed without any vmentry (caused by "Error: Device 768 >(vbd) could >> not be connected. Hotplug scripts not working."), but then a >VMCLEAR is >> still executed on its unlaunched VMCS. >> the following patch fixes it. >> >> Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx> > >This patch is itself buggy: Just because a VMCS hasn't been launched >doesn't mean it hasn't been activated on some CPU. I think the >original >bug would be better fixed by only calling vmx_clear_vmcs() in >vmx_destroy_vmcs() if arch_vmx->vmcs != NULL. Even better would be not >to allocate the VMCS so darn late. > Yes, such a fix should work. diff -r 130a5badf2b7 xen/arch/x86/hvm/vmx/vmcs.c --- a/xen/arch/x86/hvm/vmx/vmcs.c Fri Jun 30 22:02:58 2006 +0100 +++ b/xen/arch/x86/hvm/vmx/vmcs.c Sun Jul 02 22:33:47 2006 +0800 @@ -495,6 +511,9 @@ void vmx_destroy_vmcs(struct vcpu *v) void vmx_destroy_vmcs(struct vcpu *v) { struct arch_vmx_struct *arch_vmx = &v->arch.hvm_vmx; + + if ( arch_vmx->vmcs == NULL ) + return; vmx_clear_vmcs(v); Hmm, I still prefer allocating VMCS just before launching, can you explain your concerns? thanks -Xin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |