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 <[email protected]>
---
kernel/cgroup/rstat.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/cgroup/rstat.c b/kernel/cgroup/rstat.c
index b264ab5652ba..1486768f2318 100644
--- a/kernel/cgroup/rstat.c
+++ b/kernel/cgroup/rstat.c
@@ -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];
}
}
--
2.30.2
On Thu, Oct 28, 2021 at 03:15:27PM -0700, Dan Schatzberg wrote:
> 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.
Yes, definitely a bug. The same fix was posted a couple months ago as
part of a series but never picked up:
https://x-lore.kernel.org/all/[email protected]/
The series also touched cputime, so we might be waiting for scheduler
folks? +Ingo +Peter +Andrey
On Thu, Oct 28, 2021 at 03:15:27PM -0700, Dan Schatzberg wrote:
> 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 <[email protected]>
Applying to cgroup/for-5.16.
Thanks.
--
tejun
On 10/29/21 8:21 PM, Daniel Jordan wrote:
> On Thu, Oct 28, 2021 at 03:15:27PM -0700, Dan Schatzberg wrote:
>> 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.
>
> Yes, definitely a bug. The same fix was posted a couple months ago as
> part of a series but never picked up:
>
> https://x-lore.kernel.org/all/[email protected]/
>
> The series also touched cputime, so we might be waiting for scheduler
> folks? +Ingo +Peter +Andrey
>
Yeah, I'll do rebase and send v3