All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/4] cputime, cpuacct: Include guest time in user time in cpuacct.stat
@ 2021-11-15 16:46 Andrey Ryabinin
  2021-11-15 16:46   ` Andrey Ryabinin
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Andrey Ryabinin @ 2021-11-15 16:46 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra
  Cc: Andrey Ryabinin, Daniel Jordan, Tejun Heo, stable, Juri Lelli,
	Vincent Guittot, Dietmar Eggemann, Steven Rostedt, Ben Segall,
	Mel Gorman, Daniel Bristot de Oliveira, cgroups, linux-kernel,
	Dan Schatzberg

cpuacct.stat in no-root cgroups shows user time without guest time
included int it. This doesn't match with user time shown in root
cpuacct.stat and /proc/<pid>/stat. This also affects cgroup2's cpu.stat
in the same way.

Make account_guest_time() to add user time to cgroup's cpustat to
fix this.

Fixes: ef12fefabf94 ("cpuacct: add per-cgroup utime/stime statistics")
Signed-off-by: Andrey Ryabinin <arbn@yandex-team.com>
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: <stable@vger.kernel.org>
---
 kernel/sched/cputime.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index 872e481d5098..042a6dbce8f3 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -148,10 +148,10 @@ void account_guest_time(struct task_struct *p, u64 cputime)
 
 	/* Add guest time to cpustat. */
 	if (task_nice(p) > 0) {
-		cpustat[CPUTIME_NICE] += cputime;
+		task_group_account_field(p, CPUTIME_NICE, cputime);
 		cpustat[CPUTIME_GUEST_NICE] += cputime;
 	} else {
-		cpustat[CPUTIME_USER] += cputime;
+		task_group_account_field(p, CPUTIME_USER, cputime);
 		cpustat[CPUTIME_GUEST] += cputime;
 	}
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-11-23 11:02 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-15 16:46 [PATCH v3 1/4] cputime, cpuacct: Include guest time in user time in cpuacct.stat Andrey Ryabinin
2021-11-15 16:46 ` [PATCH v3 2/4] cpuacct: convert BUG_ON() to WARN_ON_ONCE() Andrey Ryabinin
2021-11-15 16:46   ` Andrey Ryabinin
2021-11-23 11:01   ` [tip: sched/core] cpuacct: Convert " tip-bot2 for Andrey Ryabinin
2021-11-15 16:46 ` [PATCH v3 3/4] sched/cpuacct: fix user/system in shown cpuacct.usage* Andrey Ryabinin
2021-11-15 16:46   ` Andrey Ryabinin
2021-11-23 11:01   ` [tip: sched/core] sched/cpuacct: Fix " tip-bot2 for Andrey Ryabinin
2021-11-15 16:46 ` [PATCH v3 4/4] sched/cpuacct: Make user/system times in cpuacct.stat more precise Andrey Ryabinin
2021-11-15 16:46   ` Andrey Ryabinin
2021-11-23 11:01   ` [tip: sched/core] " tip-bot2 for Andrey Ryabinin
2021-11-15 21:06 ` [PATCH v3 1/4] cputime, cpuacct: Include guest time in user time in cpuacct.stat Tejun Heo
2021-11-18 14:29   ` Peter Zijlstra
2021-11-23 11:01 ` [tip: sched/core] " tip-bot2 for Andrey Ryabinin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.