mirror of https://gitee.com/openkylin/linux.git
[PATCH] Fix idle time field in /proc/uptime
Git commit 79741dd
changes idle cputime accounting, but unfortunately
the /proc/uptime file hasn't caught up. Here the idle time calculation
from /proc/stat is copied over.
Signed-off-by: Michael Abbott <michael.abbott@diamond.ac.uk>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
94a8d5caba
commit
96830a57de
|
@ -4,13 +4,18 @@
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
#include <linux/time.h>
|
#include <linux/time.h>
|
||||||
|
#include <linux/kernel_stat.h>
|
||||||
#include <asm/cputime.h>
|
#include <asm/cputime.h>
|
||||||
|
|
||||||
static int uptime_proc_show(struct seq_file *m, void *v)
|
static int uptime_proc_show(struct seq_file *m, void *v)
|
||||||
{
|
{
|
||||||
struct timespec uptime;
|
struct timespec uptime;
|
||||||
struct timespec idle;
|
struct timespec idle;
|
||||||
cputime_t idletime = cputime_add(init_task.utime, init_task.stime);
|
int i;
|
||||||
|
cputime_t idletime = cputime_zero;
|
||||||
|
|
||||||
|
for_each_possible_cpu(i)
|
||||||
|
idletime = cputime64_add(idletime, kstat_cpu(i).cpustat.idle);
|
||||||
|
|
||||||
do_posix_clock_monotonic_gettime(&uptime);
|
do_posix_clock_monotonic_gettime(&uptime);
|
||||||
monotonic_to_bootbased(&uptime);
|
monotonic_to_bootbased(&uptime);
|
||||||
|
|
Loading…
Reference in New Issue