diff options
author | Tomas Janousek <tjanouse@redhat.com> | 2007-07-16 02:39:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:41 -0400 |
commit | d62141414a55ff3f1410b27db2a95224446e77a4 (patch) | |
tree | 36c3ddbe084ba6f688744434b39f959aef6381c8 | |
parent | 924b42d5a2dbe508407a0a6290d3751f826bccdd (diff) |
Use boot based time for uptime in /proc
Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused uptime not to increase
during suspend. This may cause confusion so I restore the old behaviour by
using the boot based time instead of monotonic for uptime.
Signed-off-by: Tomas Janousek <tjanouse@redhat.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/proc/proc_misc.c | 1 | ||||
-rw-r--r-- | kernel/timer.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 19c9cbf1c320..d24b8d46059a 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c | |||
@@ -105,6 +105,7 @@ static int uptime_read_proc(char *page, char **start, off_t off, | |||
105 | cputime_t idletime = cputime_add(init_task.utime, init_task.stime); | 105 | cputime_t idletime = cputime_add(init_task.utime, init_task.stime); |
106 | 106 | ||
107 | do_posix_clock_monotonic_gettime(&uptime); | 107 | do_posix_clock_monotonic_gettime(&uptime); |
108 | monotonic_to_bootbased(&uptime); | ||
108 | cputime_to_timespec(idletime, &idle); | 109 | cputime_to_timespec(idletime, &idle); |
109 | len = sprintf(page,"%lu.%02lu %lu.%02lu\n", | 110 | len = sprintf(page,"%lu.%02lu %lu.%02lu\n", |
110 | (unsigned long) uptime.tv_sec, | 111 | (unsigned long) uptime.tv_sec, |
diff --git a/kernel/timer.c b/kernel/timer.c index 1a69705c2fb9..1ab3106a2b5d 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -1114,6 +1114,7 @@ int do_sysinfo(struct sysinfo *info) | |||
1114 | getnstimeofday(&tp); | 1114 | getnstimeofday(&tp); |
1115 | tp.tv_sec += wall_to_monotonic.tv_sec; | 1115 | tp.tv_sec += wall_to_monotonic.tv_sec; |
1116 | tp.tv_nsec += wall_to_monotonic.tv_nsec; | 1116 | tp.tv_nsec += wall_to_monotonic.tv_nsec; |
1117 | monotonic_to_bootbased(&tp); | ||
1117 | if (tp.tv_nsec - NSEC_PER_SEC >= 0) { | 1118 | if (tp.tv_nsec - NSEC_PER_SEC >= 0) { |
1118 | tp.tv_nsec = tp.tv_nsec - NSEC_PER_SEC; | 1119 | tp.tv_nsec = tp.tv_nsec - NSEC_PER_SEC; |
1119 | tp.tv_sec++; | 1120 | tp.tv_sec++; |