The commit is pushed to "branch-rh7-3.10.0-229.7.2.vz7.8.x-ovz" and will appear 
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-229.7.2.vz7.8.3
------>
commit 744efff9ff308203a9fca42da982edcbb04bcb49
Author: Kirill Tkhai <ktk...@odin.com>
Date:   Wed Oct 7 15:22:33 2015 +0400

    ve/sched: Hide steal time from inside CT
    
    https://jira.sw.ru/browse/PSBM-26588
    
    Port diff-sched-hide-steal-time-from-inside-CT from 2.6.32:
    
    >From the BUG by Khorenko Konstantin:
    
            "FastVPS complains on incorrect idle time calculation
            (PSBM-23431) and about high _steal_ time reported inside a CT.
            Steal time is a time when a CT was ready to run on a physical CPU,
            but the CPU was busy with processes which belong to another CT.
            => in case we have 10 CTs which eat cpu time as much as possible,
            then steal time in each CT will be 90% and execution time 10% only.
    
        i suggest to make steal time always shown as 0 inside Containers in
        order not to confuse end users.  At the same time steal time for
        Containers should be visible from the HN (host), this is useful for
        development.
    
            No objections neither from Pasha Emelyanov nor from Maik".
    
    So, we do this for not to scare users.
    
    Signed-off-by: Kirill Tkhai <ktk...@virtuozzo.com>
    Reviewed-by: Vladimir Davydov <vdavy...@virtuozzo.com>
    
     kernel/sched/core.c  |    5 +++++
     1 file changed, 5 insertions(+)
---
 kernel/sched/core.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index df63b3a..1277c18 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -8999,6 +8999,9 @@ int cpu_cgroup_proc_stat(struct cgroup *cgrp, struct 
cftype *cft,
                steal += kcpustat->cpustat[CPUTIME_STEAL];
        }
 
+       if (!ve_is_super(get_exec_env()))
+               steal = 0;
+
        seq_printf(p, "cpu  %llu %llu %llu %llu %llu 0 0 %llu\n",
                (unsigned long long)cputime64_to_clock_t(user),
                (unsigned long long)cputime64_to_clock_t(nice),
@@ -9018,6 +9021,8 @@ int cpu_cgroup_proc_stat(struct cgroup *cgrp, struct 
cftype *cft,
                idle = kcpustat->cpustat[CPUTIME_IDLE];
                iowait = kcpustat->cpustat[CPUTIME_IOWAIT];
                steal = kcpustat->cpustat[CPUTIME_STEAL];
+               if (!ve_is_super(get_exec_env()))
+                       steal = 0;
                seq_printf(p,
                        "cpu%d %llu %llu %llu %llu %llu 0 0 %llu\n",
                        i,
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to