This setting will later be used to compute an expected steal time. Signed-off-by: Michael Wolf <mjw@xxxxxxxxxxxxxxxxxx> --- Documentation/sysctl/kernel.txt | 14 ++++++++++++++ fs/proc/stat.c | 1 + kernel/sysctl.c | 10 ++++++++++ 3 files changed, 25 insertions(+) diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 6d78841..0f617dc 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt @@ -28,6 +28,7 @@ show up in /proc/sys/kernel: - core_pattern - core_pipe_limit - core_uses_pid +- cpu_entitlement - ctrl-alt-del - dmesg_restrict - domainname @@ -226,6 +227,19 @@ the filename. ============================================================== +cpu_entitlement: + +The cpu_entitlement is the percentage of cpu utilization that +the system expects to receive. By default this is set to 100, +in a guest system this could be set to a value between 0 and 100. +This value is used to adjust the amount of steal time that +process accounting code in the guest will display. The end effect +will be is that steal time will only be reported if the +percentage of steal time is greater than 100 - cpu_entitlement +value. + +============================================================== + ctrl-alt-del: When the value in this file is 0, ctrl-alt-del is trapped and diff --git a/fs/proc/stat.c b/fs/proc/stat.c index 64c3b31..14e26c8 100644 --- a/fs/proc/stat.c +++ b/fs/proc/stat.c @@ -12,6 +12,7 @@ #include <asm/cputime.h> #include <linux/tick.h> +int cpu_entitlement = 100; #ifndef arch_irq_stat_cpu #define arch_irq_stat_cpu(cpu) 0 #endif diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 87174ef..85efbc2 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -109,6 +109,7 @@ extern int percpu_pagelist_fraction; extern int compat_log; extern int latencytop_enabled; extern int sysctl_nr_open_min, sysctl_nr_open_max; +extern int cpu_entitlement; #ifndef CONFIG_MMU extern int sysctl_nr_trim_pages; #endif @@ -673,6 +674,15 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = proc_dointvec, }, + { + .procname = "cpu_entitlement", + .data = &cpu_entitlement, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &zero, + .extra2 = &one_hundred, + }, #if defined CONFIG_PRINTK { .procname = "printk", -- 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