Re: [PATCH 2/3] kvmclock - the host part.

Avi Kivity
2007-11-13T14:45:58Z

Glauber de Oliveira Costa wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Avi Kivity escreveu:
>
>> Glauber de Oliveira Costa wrote:
>>
>>> This is the host part of kvm clocksource implementation. As it does
>>> not include clockevents, it is a fairly simple implementation. We
>>> only have to register a per-vcpu area, and start writting to it
>>> periodically.
>>>
>>>
>>>
>> Missing live migration support (a way for userspace to read and write
>> the guest clock address). Should probably be in a separate patch.
>>
>
> I think it's a matter of issuing a hypercall for reading the clock
> address. It's fair simple, and can be done in a later version of this patch.
> As for writting, the register hypercall itself can be used. It has no
> special side-effects we should care about.
>

kvm live migration is done (at least thus far) without guest
involvement. So you need the host to be able to transfer this state.

>
>>> @@ -1924,6 +1955,7 @@ out:
>>> goto preempted;
>>> }
>>>
>>> + kvm_write_guest_time(vcpu);
>>> post_kvm_run_save(vcpu, kvm_run);
>>>
>>>
>> Why here? Seems like we're leaving the guest for a while at this place.
>>
>> Suggest putting it on top of __vcpu_run(), guarded by a flag, and
>> setting the flag every time we put the vcpu.
>>
>
> No special preference. It just sounded exity enough to me. I can move to
> where you suggest.
>
>

It's more than a place, it's a set of rules:

- if the vcpu is migrated, we need a new timebase
- ditto if we're descheduled (well that's the same thing)
- if "some time passes"

--
error compiling committee.c: too many arguments to function