Re: [PATCH v2 6/6] Describe KVM_MSR_STEAL_TIME

From: Avi Kivity
Date: Sun Jan 30 2011 - 08:19:31 EST

On 01/28/2011 09:52 PM, Glauber Costa wrote:
This patch adds documentation about usage of the newly
introduced KVM_MSR_STEAL_TIME.

+MSR_KVM_STEAL_TIME: 0x4b564d03
+ data: 4-byte alignment physical address of a memory area which must be
+ in guest RAM, plus an enable bit in bit 0.

64-byte aligned:
- avoids wrapping around a page boundary, which may let us optimize things later on (see kvm_write_guest_cached()).
- gives us 5 more unused bits to enable more options

This memory is expected to
+ hold a copy of the following structure:
+ struct kvm_steal_time {
+ __u64 steal;
+ __u32 version;
+ __u32 flags;
+ __u32 pad[6];
+ }
+ whose data will be filled in by the hypervisor periodically. Only one
+ write, or registration, is needed for each VCPU. The interval between
+ updates of this structure is arbitrary and implementation-dependent.
+ The hypervisor may update this structure at any time it sees fit until
+ anything with bit0 == 0 is written to it.
+ Fields have the following meanings:
+ version: guest has to check version before and after grabbing
+ time information and check that they are both equal and even.
+ An odd version indicates an in-progress update.
+ flags: At this point, always zero. May be used to indicate
+ changes in this structure in the future.
+ steal: the amount of time in which this vCPU did not run, in
+ nanoseconds.

The guest must initialize the entire 64-byte structure to zero before enabling the feature.

error compiling committee.c: too many arguments to function

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at