Allow procps programs (i.e. top) to read precise CPU time usage of processes.
Signed-off-by: Stanislaw Gruszka <[email protected]> --- fs/proc/array.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c index fef7850..ee47b29 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -403,6 +403,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, unsigned long rsslim = 0; char tcomm[sizeof(task->comm)]; unsigned long flags; + u64 sum_exec_runtime = 0; state = *get_task_state(task); vsize = eip = esp = 0; @@ -459,6 +460,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, thread_group_cputime_adjusted(task, &cputime); utime = cputime.utime; stime = cputime.stime; + sum_exec_runtime = cputime.sum_exec_runtime; gtime += sig->gtime; } @@ -475,6 +477,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, min_flt = task->min_flt; maj_flt = task->maj_flt; task_cputime_adjusted(task, &utime, &stime); + sum_exec_runtime = task->se.sum_exec_runtime; gtime = task_gtime(task); } @@ -554,6 +557,8 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, else seq_put_decimal_ll(m, ' ', 0); + seq_put_decimal_ull(m, ' ', sum_exec_runtime); + seq_putc(m, '\n'); if (mm) mmput(mm); -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

