[PATCH RFC V2 0/5] Separate consigned (expected steal) from stealtime.

From: Michael Wolf
Date: Tue Oct 16 2012 - 22:24:03 EST


In the case of where you have a system that is running in a
capped or overcommitted environment the user may see steal time
being reported in accounting tools such as top or vmstat. This can
cause confusion for the end user. To ease the confusion this patch set
adds the idea of consigned (expected steal) time. The host will separate
the consigned time from the steal time. The consignment limit passed to the
host will be the amount of steal time expected within a fixed period of
time. Any other steal time accruing during that period will show as the
traditional steal time.

TODO:
* Change native_clock to take params and not return a value
* Change update_rq_clock_task

Changes from V1:
* Removed the steal time allowed percentage from the guest
* Moved the separation of consigned (expected steal) and steal time to the
host.
* No longer include a sysctl interface.

---

Michael Wolf (5):
Alter the amount of steal time reported by the guest.
Expand the steal time msr to also contain the consigned time.
Add the code to send the consigned time from the host to the guest
Add a timer to allow the separation of consigned from steal time.
Add an ioctl to communicate the consign limit to the host.


arch/x86/include/asm/kvm_host.h | 11 +++++++++
arch/x86/include/asm/kvm_para.h | 3 ++
arch/x86/include/asm/paravirt.h | 4 ++-
arch/x86/kernel/kvm.c | 8 ++----
arch/x86/kvm/x86.c | 50 ++++++++++++++++++++++++++++++++++++++-
fs/proc/stat.c | 9 +++++--
include/linux/kernel_stat.h | 2 ++
include/linux/kvm.h | 2 ++
include/linux/kvm_host.h | 2 ++
kernel/sched/cputime.c | 21 +++++++++++++++-
kernel/sched/sched.h | 2 ++
virt/kvm/kvm_main.c | 7 +++++
12 files changed, 108 insertions(+), 13 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/