Re: [PATCH v2 14/17] kvm: x86: Introduce kvmclock device to save/restore its state

Jan Kiszka
2011-01-03T16:30:34Z

[-- Attachment #1: Type: text/plain, Size: 1195 bytes --]

Am 03.01.2011 17:04, Avi Kivity wrote:
> On 01/03/2011 10:33 AM, Jan Kiszka wrote:
>> From: Jan Kiszka<jan.kiszka@siemens.com>
>>
>> If kvmclock is used, which implies the kernel supports it, register a
>> kvmclock device with the sysbus. Its main purpose is to save and restore
>> the kernel state on migration, but this will also allow to visualize it
>> one day.
>>
>
> kvmclock is a per-cpu affair.

Nope, it's state (the one save/restored here) is per VM.

>
>>
>> @@ -534,6 +599,10 @@ int kvm_arch_init(int smp_cpus)
>> int ret;
>> struct utsname utsname;
>>
>> +#ifdef KVM_CAP_ADJUST_CLOCK
>> + sysbus_register_withprop(&kvmclock_info);
>> +#endif
>> +
>
> So this doesn't look right. I think we're fine with just migrating the
> MSRs, like we migrate anything else that has to do with the cpu.
>

The kvmclock state is not contained in any MSR. It's an independent
machine state that can be indirectly obtained via MSR access. Therefore,
qemu-kvm currently registers only one vmstate entry per machine, and
this patch just turns this into a clean device - because that's what
kvmclock is in the end, something like an HPET.

Jan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]