linux/arch/x86/kvm
Glauber Costa c9aaa8957f 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>
2011-07-14 12:59:14 +03:00
..
emulate.c KVM: x86 emulator: fold decode_cache into x86_emulate_ctxt 2011-07-12 13:16:09 +03:00
i8254.c KVM: fix typo in copyright notice 2010-10-24 10:53:14 +02:00
i8254.h KVM: remove useless function declaration kvm_inject_pit_timer_irqs() 2011-05-11 07:57:09 -04:00
i8259.c KVM: remove isr_ack logic from PIC 2011-03-17 13:08:30 -03:00
irq.c KVM: fix typo in copyright notice 2010-10-24 10:53:14 +02:00
irq.h KVM: remove useless function declarations from file arch/x86/kvm/irq.h 2011-05-11 07:57:09 -04:00
Kconfig KVM: Steal time implementation 2011-07-14 12:59:14 +03:00
kvm_cache_regs.h KVM: Fetch guest cr3 from hardware on demand 2011-01-12 11:31:16 +02:00
kvm_timer.h KVM: arch/x86/kvm/kvm_timer.h checkpatch cleanup 2010-05-17 12:14:42 +03:00
lapic.c KVM: x86: Remove useless regs_page pointer from kvm_lapic 2011-03-17 13:08:33 -03:00
lapic.h KVM: x86: Remove useless regs_page pointer from kvm_lapic 2011-03-17 13:08:33 -03:00
Makefile KVM: x86: Makefile clean up 2011-01-12 11:29:08 +02:00
mmu.c Revert "KVM: MMU: make kvm_mmu_reset_context() flush the guest TLB" 2011-07-12 13:16:41 +03:00
mmu.h KVM: MMU: Don't track nested fault info in error-code 2010-10-24 10:52:55 +02:00
mmu_audit.c KVM: MMU: audit: allow audit more guests at the same time 2011-01-12 11:31:17 +02:00
mmutrace.h KVM: MMU: support disable/enable mmu audit dynamicly 2010-10-24 10:51:56 +02:00
paging_tmpl.h KVM: MMU: Introduce is_last_gpte() to clean up walk_addr_generic() 2011-07-12 13:16:44 +03:00
svm.c KVM: nVMX: Allow setting the VMXE bit in CR4 2011-07-12 11:45:10 +03:00
timer.c x86: Fix common misspellings 2011-03-18 10:39:30 +01:00
trace.h KVM: x86 emulator: fold decode_cache into x86_emulate_ctxt 2011-07-12 13:16:09 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: nVMX: Fix bug preventing more than two levels of nesting 2011-07-12 13:16:11 +03:00
x86.c KVM: Steal time implementation 2011-07-14 12:59:14 +03:00
x86.h KVM: nVMX: Implement VMPTRST 2011-07-12 11:45:13 +03:00