aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/uptime.c
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /fs/proc/uptime.c
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'fs/proc/uptime.c')
-rw-r--r--fs/proc/uptime.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
index 9610ac772d7..766b1d45605 100644
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@ -11,20 +11,15 @@ static int uptime_proc_show(struct seq_file *m, void *v)
11{ 11{
12 struct timespec uptime; 12 struct timespec uptime;
13 struct timespec idle; 13 struct timespec idle;
14 u64 idletime;
15 u64 nsec;
16 u32 rem;
17 int i; 14 int i;
15 cputime_t idletime = cputime_zero;
18 16
19 idletime = 0;
20 for_each_possible_cpu(i) 17 for_each_possible_cpu(i)
21 idletime += (__force u64) kcpustat_cpu(i).cpustat[CPUTIME_IDLE]; 18 idletime = cputime64_add(idletime, kstat_cpu(i).cpustat.idle);
22 19
23 do_posix_clock_monotonic_gettime(&uptime); 20 do_posix_clock_monotonic_gettime(&uptime);
24 monotonic_to_bootbased(&uptime); 21 monotonic_to_bootbased(&uptime);
25 nsec = cputime64_to_jiffies64(idletime) * TICK_NSEC; 22 cputime_to_timespec(idletime, &idle);
26 idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem);
27 idle.tv_nsec = rem;
28 seq_printf(m, "%lu.%02lu %lu.%02lu\n", 23 seq_printf(m, "%lu.%02lu %lu.%02lu\n",
29 (unsigned long) uptime.tv_sec, 24 (unsigned long) uptime.tv_sec,
30 (uptime.tv_nsec / (NSEC_PER_SEC / 100)), 25 (uptime.tv_nsec / (NSEC_PER_SEC / 100)),