aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/uptime.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/proc/uptime.c')
-rw-r--r--fs/proc/uptime.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
index 33de567c25af..7981c4ffe787 100644
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@ -5,23 +5,20 @@
5#include <linux/seq_file.h> 5#include <linux/seq_file.h>
6#include <linux/time.h> 6#include <linux/time.h>
7#include <linux/kernel_stat.h> 7#include <linux/kernel_stat.h>
8#include <linux/cputime.h>
9 8
10static int uptime_proc_show(struct seq_file *m, void *v) 9static int uptime_proc_show(struct seq_file *m, void *v)
11{ 10{
12 struct timespec uptime; 11 struct timespec uptime;
13 struct timespec idle; 12 struct timespec idle;
14 u64 idletime;
15 u64 nsec; 13 u64 nsec;
16 u32 rem; 14 u32 rem;
17 int i; 15 int i;
18 16
19 idletime = 0; 17 nsec = 0;
20 for_each_possible_cpu(i) 18 for_each_possible_cpu(i)
21 idletime += (__force u64) kcpustat_cpu(i).cpustat[CPUTIME_IDLE]; 19 nsec += (__force u64) kcpustat_cpu(i).cpustat[CPUTIME_IDLE];
22 20
23 get_monotonic_boottime(&uptime); 21 get_monotonic_boottime(&uptime);
24 nsec = cputime64_to_jiffies64(idletime) * TICK_NSEC;
25 idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem); 22 idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem);
26 idle.tv_nsec = rem; 23 idle.tv_nsec = rem;
27 seq_printf(m, "%lu.%02lu %lu.%02lu\n", 24 seq_printf(m, "%lu.%02lu %lu.%02lu\n",