Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08e4570a authored by Ingo Molnar's avatar Ingo Molnar
Browse files

sched: fix prev_stime calculation



Srivatsa Vaddagiri noticed occasionally incorrect CPU usage
values in top and tracked it down to stime going below 0 in
task_stime(). Negative values are possible there due to the
sampled nature of stime/utime.

Fix suggested by Balbir Singh.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Tested-by: default avatarSrivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
Reviewed-by: default avatarBalbir Singh <balbir@linux.vnet.ibm.com>
parent 5e8869bb
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -374,7 +374,9 @@ static cputime_t task_stime(struct task_struct *p)
	stime = nsec_to_clock_t(p->se.sum_exec_runtime) -
			cputime_to_clock_t(task_utime(p));

	if (stime >= 0)
		p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime));

	return p->prev_stime;
}
#endif