PM / Hibernate: Migrate to ktime_t
authorTina Ruchandani <ruchandani.tina@gmail.com>
Thu, 30 Oct 2014 18:04:53 +0000 (11:04 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 3 Nov 2014 00:02:55 +0000 (01:02 +0100)
commitdb597605821fccc49876705aea5db5443d67e53e
treee5893b616676da8feebd574df23270e0f1cfb41d
parent0df1f2487d2f0d04703f142813d53615d62a1da4
PM / Hibernate: Migrate to ktime_t

This patch migrates swsusp_show_speed and its callers to using ktime_t instead
of 'struct timeval' which suffers from the y2038 problem.

Changes to swsusp_show_speed:
        - use ktime_t for start and stop times
        - pass start and stop times by value
Calling functions affected:
        - load_image
        - load_image_lzo
        - save_image
        - save_image_lzo
        - hibernate_preallocate_memory
Design decisions:
        - use ktime_t to preserve same granularity of reporting as before
        - use centisecs logic as before to avoid 'div by zero' issues caused by
          using seconds and nanoseconds directly
        - use monotonic time (ktime_get()) since we only care about elapsed time.

Signed-off-by: Tina Ruchandani <ruchandani.tina@gmail.com>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/power/hibernate.c
kernel/power/power.h
kernel/power/snapshot.c
kernel/power/swap.c