cgroup: Fix rootcg cpu.stat guest double counting
authorDan Schatzberg <schatzberg.dan@gmail.com>
Thu, 28 Oct 2021 22:15:27 +0000 (15:15 -0700)
committerTejun Heo <tj@kernel.org>
Mon, 1 Nov 2021 16:47:08 +0000 (06:47 -1000)
In account_guest_time in kernel/sched/cputime.c guest time is
attributed to both CPUTIME_NICE and CPUTIME_USER in addition to
CPUTIME_GUEST_NICE and CPUTIME_GUEST respectively. Therefore, adding
both to calculate usage results in double counting any guest time at
the rootcg.

Fixes: 936f2a70f207 ("cgroup: add cpu.stat file to root cgroup")
Signed-off-by: Dan Schatzberg <schatzberg.dan@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/rstat.c

index b264ab5..1486768 100644 (file)
@@ -433,8 +433,6 @@ static void root_cgroup_cputime(struct task_cputime *cputime)
                cputime->sum_exec_runtime += user;
                cputime->sum_exec_runtime += sys;
                cputime->sum_exec_runtime += cpustat[CPUTIME_STEAL];
-               cputime->sum_exec_runtime += cpustat[CPUTIME_GUEST];
-               cputime->sum_exec_runtime += cpustat[CPUTIME_GUEST_NICE];
        }
 }