Re: Nested SVM and migration

Avi Kivity
2010-02-21T07:23:51Z

On 02/20/2010 10:18 PM, Joerg Roedel wrote:
>
>> Actually, looking deeper, there doesn't even appear to be any way to
>> export the nested CPU data at all, meaning basic features like
>> suspending and restoring the VM are not possible. Is there any plan to
>> make it work in the near future? I'm not complaining; if my
>> understanding is correct, this actually makes my current task easier.
>>
> I think we should introduce a flag to indicate userspace if a vcpu is in
> a state that could be migrated in a save way together with a way for
> userspace to request that the vcpu enters a migratable state. In the
> kernel we could do something like that:
>
> nested_svm_vmrun(...)
> {
> /* ... */
> kvm_migration_disable(vcpu);
> /* ... */
> }
>
> nested_svm_vmexit(...)
> {
> /* ... */
> kvm_migration_enable(vcpu);
> /* ... */
> }
>
> and somewhere in the vcpu_run loop:
>
> if (vcpu->arch.migration_win_req)
> nested_svm_vmexit(INTR);
>
> This might be helpful in other situations too. Thoughts?
>

This doesn't work if the guest disables INTR intercepts, or if the guest
checks that an interrupt was actually received. Of course no sane guest
does this.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.