Skip to contentSkip to conversation

FAILED: patch "[PATCH] cputime, cpuacct: Include guest time in user time in" failed to apply to 4.4-stable tree

PATCH [email protected] 1 participant 1 message Jan 23, 2022

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 9731698ecb9c851f353ce2496292ff9fcea39dff Mon Sep 17 00:00:00 2001
From: Andrey Ryabinin <[email protected]>
Date: Mon, 15 Nov 2021 19:46:04 +0300
Subject: [PATCH] cputime, cpuacct: Include guest time in user time in
cpuacct.stat

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.

kernel/sched/cputime.c +2 -2
index 872e481d5098..042a6dbce8f3 100644
@@ -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;
 	}
 }