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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html