[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] credit scheduler issues in 64bit hypervisor
On 2 Jul 2006, at 05:01, Li, Xin B wrote: This patch is itself buggy: Just because a VMCS hasn't been launched doesn't mean it hasn't been activated on some CPU.Hmm, thinking about a VMCS is migrating from cpu A to cpu B, and on cpu A vmclear has been executed, but just before the VMCS is launched on cpu B, the domain is killed, what will happen? I'm not sure if vmclear on a VMCS in cleared state is allowed. If not, we still need this fix. active_cpu will be B in this case, so we'll execute VMCLEAR on CPU B. 'Launched' is just an extra sub-state of an active VMCS. This is all taken from Section 20.1 of Vol. 3 of the Intel Reference Manual. 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 betterwould be notto allocate the VMCS so darn late.Yes, it's buggy, and prevent the first vmclear to a vmcs.I found even without my fix the first vmclear to a newly allocated vmcs is prevented, this is because arch_vmx->active_cpu = -1is executed before vmx_clear_vmcs(v) in construct_vmcs(). We may workaound it by setting active_cpu to smp_processor_id(), and launched to 1here, but surely this is not what we want. Yes, that's broken. I'll fix to use __vmx_clear_vmcs(). -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |