__current_kernel_time64 returns a struct timespec64, without taking the xtime lock. Mirrors __current_kernel_time/current_kernel_time.
Signed-off-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com> CC: a...@arndb.de CC: john.stu...@linaro.org CC: t...@linutronix.de CC: mi...@kernel.org CC: pet...@infradead.org --- include/linux/timekeeping.h | 3 ++- kernel/time/timekeeping.c | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h index ec89d84..b5802bf 100644 --- a/include/linux/timekeeping.h +++ b/include/linux/timekeeping.h @@ -19,7 +19,8 @@ extern int do_sys_settimeofday(const struct timespec *tv, */ unsigned long get_seconds(void); struct timespec64 current_kernel_time64(void); -/* does not take xtime_lock */ +/* do not take xtime_lock */ +struct timespec64 __current_kernel_time64(void); struct timespec __current_kernel_time(void); static inline struct timespec current_kernel_time(void) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index b1356b7..c1221c2 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -1881,6 +1881,13 @@ struct timespec __current_kernel_time(void) return timespec64_to_timespec(tk_xtime(tk)); } +struct timespec64 __current_kernel_time64(void) +{ + struct timekeeper *tk = &tk_core.timekeeper; + + return tk_xtime(tk); +} + struct timespec64 current_kernel_time64(void) { struct timekeeper *tk = &tk_core.timekeeper; -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel