diff options
author | Glauber Costa <glommer@redhat.com> | 2011-07-11 15:28:14 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-07-14 05:59:14 -0400 |
commit | c9aaa8957f203bd6df83b002fb40b98390bed078 (patch) | |
tree | 96930ff2cbf73f6b0a3f4973e3933d036af13544 /arch/x86/kvm/Kconfig | |
parent | 9ddabbe72e41ca6794cb4947c70929c9410e6752 (diff) |
KVM: Steal time implementation
To implement steal time, we need the hypervisor to pass the guest
information about how much time was spent running other processes
outside the VM, while the vcpu had meaningful work to do - halt
time does not count.
This information is acquired through the run_delay field of
delayacct/schedstats infrastructure, that counts time spent in a
runqueue but not running.
Steal time is a per-cpu information, so the traditional MSR-based
infrastructure is used. A new msr, KVM_MSR_STEAL_TIME, holds the
memory area address containing information about steal time
This patch contains the hypervisor part of the steal time infrasructure,
and can be backported independently of the guest portion.
[avi, yongjie: export delayacct_on, to avoid build failures in some configs]
Signed-off-by: Glauber Costa <glommer@redhat.com>
Tested-by: Eric B Munson <emunson@mgebm.net>
CC: Rik van Riel <riel@redhat.com>
CC: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
CC: Peter Zijlstra <peterz@infradead.org>
CC: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Yongjie Ren <yongjie.ren@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/Kconfig')
-rw-r--r-- | arch/x86/kvm/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig index 50f63648ce1b..99c3f0589faa 100644 --- a/arch/x86/kvm/Kconfig +++ b/arch/x86/kvm/Kconfig | |||
@@ -31,6 +31,7 @@ config KVM | |||
31 | select KVM_ASYNC_PF | 31 | select KVM_ASYNC_PF |
32 | select USER_RETURN_NOTIFIER | 32 | select USER_RETURN_NOTIFIER |
33 | select KVM_MMIO | 33 | select KVM_MMIO |
34 | select TASK_DELAY_ACCT | ||
34 | ---help--- | 35 | ---help--- |
35 | Support hosting fully virtualized guest machines using hardware | 36 | Support hosting fully virtualized guest machines using hardware |
36 | virtualization extensions. You will need a fairly recent | 37 | virtualization extensions. You will need a fairly recent |