From: Tomas Janousek 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 Acked-by: John Stultz Signed-off-by: Andrew Morton --- fs/proc/proc_misc.c | 1 + kernel/timer.c | 1 + 2 files changed, 2 insertions(+) diff -puN fs/proc/proc_misc.c~use-boot-based-time-for-uptime-in-proc fs/proc/proc_misc.c --- a/fs/proc/proc_misc.c~use-boot-based-time-for-uptime-in-proc +++ a/fs/proc/proc_misc.c @@ -107,6 +107,7 @@ static int uptime_read_proc(char *page, cputime_t idletime = cputime_add(init_task.utime, init_task.stime); do_posix_clock_monotonic_gettime(&uptime); + monotonic_to_bootbased(&uptime); cputime_to_timespec(idletime, &idle); len = sprintf(page,"%lu.%02lu %lu.%02lu\n", (unsigned long) uptime.tv_sec, diff -puN kernel/timer.c~use-boot-based-time-for-uptime-in-proc kernel/timer.c --- a/kernel/timer.c~use-boot-based-time-for-uptime-in-proc +++ a/kernel/timer.c @@ -1106,6 +1106,7 @@ int do_sysinfo(struct sysinfo *info) getnstimeofday(&tp); tp.tv_sec += wall_to_monotonic.tv_sec; tp.tv_nsec += wall_to_monotonic.tv_nsec; + monotonic_to_bootbased(&tp); if (tp.tv_nsec - NSEC_PER_SEC >= 0) { tp.tv_nsec = tp.tv_nsec - NSEC_PER_SEC; tp.tv_sec++; _