Re: Nested SVM and migration

Avi Kivity
2010-02-21T12:24:07Z

On 02/21/2010 02:10 PM, Joerg Roedel wrote:
> On Sat, Feb 20, 2010 at 01:26:49PM -1000, Zachary Amsden wrote:
>
>> The infrastructure is already there to import / export and migrate MSR
>> settings. MSRs are also 64-bit, and hold "model-specific" settings, so
>> if you don't mind thinking of the nested feature as a model-specific
>> feature of the KVM-SVM CPU, it's even somewhat well defined in terms of
>> the architecture.
>>
> There is a lot of additional state to migrate if the vcpu is running
> nested. To be architecturally correct you need to transfer 6kb of data
> through MSRs only for the msr permission bitmap.

The msr permission bitmap is in guest memory, so it is already migrated.

> The rest comes down to
> the nested intercept masks

These are in the vmcb, which is in guest memory.

> and some small bits like the global interrupt
> flag and the nested vmcb address.

We need to migrate GIF regardless, it is toggled outside guest mode.

> It is doable but I still think its
> complicated to get this right. The simplest approach would be to
> disallow migration when the vcpu is running in guest mode.
>

Agree, though I dislike the need to introduce a "force vmexit" ioctl.

--

error compiling committee.c: too many arguments to function