cgroup: fix display of forceidle time at root

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2190004

commit fcdb1eda5302599045bb366e679cccb4216f3873
Author: Josh Don <joshdon@google.com>
Date:   Wed, 15 Mar 2023 14:40:29 -0700

    cgroup: fix display of forceidle time at root

    We need to reset forceidle_sum to 0 when reading from root, since the
    bstat we accumulate into is stack allocated.

    To make this more robust, just replace the existing cputime reset with a
    memset of the overall bstat.

    Signed-off-by: Josh Don <joshdon@google.com>
    Fixes: 1fcf54deb767 ("sched/core: add forced idle accounting for cgroups")
    Cc: stable@vger.kernel.org # v6.0+
    Signed-off-by: Tejun Heo <tj@kernel.org>

Signed-off-by: Waiman Long <longman@redhat.com>
This commit is contained in:
Waiman Long 2023-07-14 10:43:07 -04:00
parent a048604c4a
commit 200d0b780c
1 changed files with 1 additions and 3 deletions

View File

@ -457,9 +457,7 @@ static void root_cgroup_cputime(struct cgroup_base_stat *bstat)
struct task_cputime *cputime = &bstat->cputime;
int i;
cputime->stime = 0;
cputime->utime = 0;
cputime->sum_exec_runtime = 0;
memset(bstat, 0, sizeof(*bstat));
for_each_possible_cpu(i) {
struct kernel_cpustat kcpustat;
u64 *cpustat = kcpustat.cpustat;