Re: [PATCH v2 4/6] KVM-GST: KVM Steal time registration

Avi Kivity
2011-01-30T13:16:10Z

On 01/28/2011 09:52 PM, Glauber Costa wrote:
> Register steal time within KVM. Everytime we sample the steal time
> information, we update a local variable that tells what was the
> last time read. We then account the difference.
>
>
>
> static void kvm_guest_cpu_offline(void *dummy)
> {
> kvm_pv_disable_apf(NULL);
> + native_write_msr(MSR_KVM_STEAL_TIME, 0, 0);
> apf_task_wake_all();
> }

Don't use the native_ versions, they override the pvops implementation.
It doesn't matter for kvm, but we're not supposed to know this.

> + /*
> + * using nanoseconds introduces noise, which accumulates easily
> + * leading to big steal time values. We want, however, to keep the
> + * interface nanosecond-based for future-proofness. The hypervisor may
> + * adopt a similar strategy, but we can't rely on that.
> + */
> + delta /= NSEC_PER_MSEC;
> + delta *= NSEC_PER_MSEC;

You're working around this problem both in the guest and host. So even
if we fix it in one, it will still be broken in the other.

> +
> + return delta;
> +}
> +

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