Re: Nested SVM and migration

Joerg Roedel
2010-02-21T12:18:15Z

On Sun, Feb 21, 2010 at 09:23:40AM +0200, Avi Kivity wrote:
> On 02/20/2010 10:18 PM, Joerg Roedel wrote:
>> 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.

We could just wait for an intercept if the guest does not intercept INTR
(which is unlikely). Problem is that this might allow the guest to
protect itself from migration. I'll check if there is another intercept
which could be used here.

Joerg