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