From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Nested SVM and migration Date: Sun, 21 Feb 2010 09:23:40 +0200 Message-ID: <4B80DF7C.6000109@redhat.com> References: <4B80347E.7000003@redhat.com> <20100220201822.GG20833@8bytes.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Zachary Amsden , Joerg Roedel , kvm To: Joerg Roedel Return-path: Received: from mx1.redhat.com ([209.132.183.28]:55688 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752144Ab0BUHXv (ORCPT ); Sun, 21 Feb 2010 02:23:51 -0500 In-Reply-To: <20100220201822.GG20833@8bytes.org> Sender: kvm-owner@vger.kernel.org List-ID: 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.