On Mon, Jul 09, 2018 at 10:58:43PM +0800, Xunlei Pang wrote: > If users access "/proc/pid/stat", the utime and stime ratio in the > current SAMPLE period are excepted, but currently cputime_adjust() > always calculates with the ratio of the WHOLE lifetime of the process. > > This results in inaccurate utime and stime in "/proc/pid/stat". For > example, a process runs for a while with "50% usr, 0% sys", then > followed by "100% sys". For later while, the following is excepted: > 0.0 usr, 100.0 sys > but we got: > 10.0 usr, 90.0 sys > > This patch uses the accurate ratio in cputime_adjust() to address the > issue. A new task_cputime type field is added in prev_cputime to record > previous task_cputime so that we can get the elapsed times as the accurate > ratio.
This still does not explain anything...