[PATCH v2 1/7] timekeeping: introduce __current_kernel_time64

From: Stefano Stabellini
Date: Tue Nov 10 2015 - 06:59:57 EST


__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.stabellini@xxxxxxxxxxxxx>
CC: arnd@xxxxxxxx
CC: john.stultz@xxxxxxxxxx
CC: tglx@xxxxxxxxxxxxx
CC: mingo@xxxxxxxxxx
CC: peterz@xxxxxxxxxxxxx
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/