* [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds()
@ 2014-10-29 10:30 Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64() Heena Sirwani
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Heena Sirwani @ 2014-10-29 10:30 UTC (permalink / raw)
To: opw-kernel; +Cc: linux-kernel, john.stultz, tglx, arnd
The following patchset adds two functions as follows:
-ktime_get_seconds() to return tv_sec portion of
ktime_get_ts64().
-ktime_get_real_seconds() to return tv_sec portion of
ktime_get_real_ts64().
Changes in v8:
-changed type of ktime_sec to unsigned long
- Added a patch with ktime_get_real_seconds().
Heena Sirwani (2):
timekeeping: Added a function to return tv_sec portion of
ktime_get_ts64()
timekeeping: Added a function to return tv_sec portion of
ktime_get_real_ts64()
include/linux/timekeeper_internal.h | 2 ++
include/linux/timekeeping.h | 2 ++
kernel/time/timekeeping.c | 41 ++++++++++++++++++++++++++++++++++---
3 files changed, 42 insertions(+), 3 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64()
2014-10-29 10:30 [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Heena Sirwani
@ 2014-10-29 10:31 ` Heena Sirwani
2014-10-29 10:47 ` Arnd Bergmann
2014-10-29 14:18 ` [tip:timers/2038] timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC tip-bot for Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 2/2] timekeeping: Added a function to return tv_sec portion of ktime_get_real_ts64() Heena Sirwani
2014-10-29 14:21 ` [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Thomas Gleixner
2 siblings, 2 replies; 8+ messages in thread
From: Heena Sirwani @ 2014-10-29 10:31 UTC (permalink / raw)
To: opw-kernel; +Cc: linux-kernel, john.stultz, tglx, arnd
The following patch adds a function to return tv_sec portion of
ktime_get_ts64() function in order to have a function that returns
seconds as 64-bit integers instead of 32-bit integers to address the
y2038 problem.
Since we are interested only in the seconds portion of ktime_get_ts64()
and require this to be as fast as possible, we take the implementation
of ktime_get_ts64() as it is and remove everything pertaining to the
nanoseconds portion. We only add to the seconds calculation if the
calculation of nanoseconds is more than one billion nanoseconds. For all
this calculation, we add a new field to the timekeeper struct,
ktime_sec. We update this field in the function tk_update_ktime_data()
by including the calculation of monotonic clock time in seconds and
including the tk_xtime() implementation that gives the nanoseconds value
of last timer click instead of using timekeeping_get_ns() which is
expensive and we do not require such fine resolution for nanoseconds.
Signed-off-by: Heena Sirwani <heenasirwani@gmail.com>
---
include/linux/timekeeper_internal.h | 2 ++
include/linux/timekeeping.h | 1 +
kernel/time/timekeeping.c | 22 +++++++++++++++++++---
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/include/linux/timekeeper_internal.h b/include/linux/timekeeper_internal.h
index 95640dc..05af9a3 100644
--- a/include/linux/timekeeper_internal.h
+++ b/include/linux/timekeeper_internal.h
@@ -42,6 +42,7 @@ struct tk_read_base {
* struct timekeeper - Structure holding internal timekeeping values.
* @tkr: The readout base structure
* @xtime_sec: Current CLOCK_REALTIME time in seconds
+ * @ktime_sec: Current CLOCK_MONOTONIC time in seconds
* @wall_to_monotonic: CLOCK_REALTIME to CLOCK_MONOTONIC offset
* @offs_real: Offset clock monotonic -> clock realtime
* @offs_boot: Offset clock monotonic -> clock boottime
@@ -77,6 +78,7 @@ struct tk_read_base {
struct timekeeper {
struct tk_read_base tkr;
u64 xtime_sec;
+ unsigned long ktime_sec;
struct timespec64 wall_to_monotonic;
ktime_t offs_real;
ktime_t offs_boot;
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
index 1caa6b0..115d55e 100644
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -28,6 +28,7 @@ struct timespec __current_kernel_time(void);
struct timespec get_monotonic_coarse(void);
extern void getrawmonotonic(struct timespec *ts);
extern void ktime_get_ts64(struct timespec64 *ts);
+extern time64_t ktime_get_seconds(void);
extern int __getnstimeofday64(struct timespec64 *tv);
extern void getnstimeofday64(struct timespec64 *tv);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index ec1791f..e42da92 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -418,6 +418,8 @@ EXPORT_SYMBOL_GPL(pvclock_gtod_unregister_notifier);
static inline void tk_update_ktime_data(struct timekeeper *tk)
{
s64 nsec;
+ u64 seconds;
+ u32 nsec_offset;
/*
* The xtime based monotonic readout is:
@@ -426,13 +428,18 @@ static inline void tk_update_ktime_data(struct timekeeper *tk)
* nsec = base_mono + now();
* ==> base_mono = (xtime_sec + wtm_sec) * 1e9 + wtm_nsec
*/
- nsec = (s64)(tk->xtime_sec + tk->wall_to_monotonic.tv_sec);
- nsec *= NSEC_PER_SEC;
- nsec += tk->wall_to_monotonic.tv_nsec;
+ seconds = (s64)(tk->xtime_sec + tk->wall_to_monotonic.tv_sec);
+ nsec_offset = tk->wall_to_monotonic.tv_nsec;
+ nsec = seconds * NSEC_PER_SEC;
+ nsec += nsec_offset;
tk->tkr.base_mono = ns_to_ktime(nsec);
/* Update the monotonic raw base */
tk->base_raw = timespec64_to_ktime(tk->raw_time);
+
+ if (((long)(tk->tkr.xtime_nsec >> tk->tkr.shift) + nsec_offset) >= NSEC_PER_SEC)
+ seconds += 1;
+ tk->ktime_sec = seconds;
}
/* must hold timekeeper_lock */
@@ -648,6 +655,15 @@ void ktime_get_ts64(struct timespec64 *ts)
}
EXPORT_SYMBOL_GPL(ktime_get_ts64);
+time64_t ktime_get_seconds(void)
+{
+ struct timekeeper *tk = &tk_core.timekeeper;
+
+ WARN_ON(timekeeping_suspended);
+ return tk->ktime_sec;
+}
+EXPORT_SYMBOL_GPL(ktime_get_seconds);
+
#ifdef CONFIG_NTP_PPS
/**
--
1.9.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 2/2] timekeeping: Added a function to return tv_sec portion of ktime_get_real_ts64()
2014-10-29 10:30 [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64() Heena Sirwani
@ 2014-10-29 10:31 ` Heena Sirwani
2014-10-29 14:18 ` [tip:timers/2038] timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME tip-bot for Heena Sirwani
2014-10-29 14:21 ` [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Thomas Gleixner
2 siblings, 1 reply; 8+ messages in thread
From: Heena Sirwani @ 2014-10-29 10:31 UTC (permalink / raw)
To: opw-kernel; +Cc: linux-kernel, john.stultz, tglx, arnd
The following patch adds a function to return tv_sec portion of
ktime_get_real_ts64() function in order to have a function that returns
seconds as 64-bit integers instead of 32-bit integers to address the
y2038 problem.
The function is similar to get_seconds() function except that it
includes read_seqcount_retry loop which is required for 32-bit
architectures. This is because 32-bit machines cannot access 64-bit
tk->xtime_sec variable atomically, requiring two 32-bit register loads.
Signed-off-by: Heena Sirwani <heenasirwani@gmail.com>
---
include/linux/timekeeping.h | 1 +
kernel/time/timekeeping.c | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
index 115d55e..91454de 100644
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -29,6 +29,7 @@ struct timespec get_monotonic_coarse(void);
extern void getrawmonotonic(struct timespec *ts);
extern void ktime_get_ts64(struct timespec64 *ts);
extern time64_t ktime_get_seconds(void);
+extern time64_t ktime_get_real_seconds(void);
extern int __getnstimeofday64(struct timespec64 *tv);
extern void getnstimeofday64(struct timespec64 *tv);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index e42da92..d731e7a 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -664,6 +664,25 @@ time64_t ktime_get_seconds(void)
}
EXPORT_SYMBOL_GPL(ktime_get_seconds);
+time64_t ktime_get_real_seconds(void)
+{
+ time64_t seconds;
+ struct timekeeper *tk = &tk_core.timekeeper;
+ unsigned int seq;
+
+ if (IS_ENABLED(CONFIG_64BIT))
+ return tk->xtime_sec;
+
+ do {
+ seq = read_seqcount_begin(&tk_core.seq);
+ seconds = tk->xtime_sec;
+
+ } while (read_seqcount_retry(&tk_core.seq, seq));
+
+ return seconds;
+}
+EXPORT_SYMBOL_GPL(ktime_get_real_seconds);
+
#ifdef CONFIG_NTP_PPS
/**
--
1.9.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64()
2014-10-29 10:31 ` [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64() Heena Sirwani
@ 2014-10-29 10:47 ` Arnd Bergmann
2014-10-29 14:18 ` [tip:timers/2038] timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC tip-bot for Heena Sirwani
1 sibling, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2014-10-29 10:47 UTC (permalink / raw)
To: Heena Sirwani; +Cc: opw-kernel, linux-kernel, john.stultz, tglx
On Wednesday 29 October 2014 16:01:16 Heena Sirwani wrote:
> The following patch adds a function to return tv_sec portion of
> ktime_get_ts64() function in order to have a function that returns
> seconds as 64-bit integers instead of 32-bit integers to address the
> y2038 problem.
>
> Since we are interested only in the seconds portion of ktime_get_ts64()
> and require this to be as fast as possible, we take the implementation
> of ktime_get_ts64() as it is and remove everything pertaining to the
> nanoseconds portion. We only add to the seconds calculation if the
> calculation of nanoseconds is more than one billion nanoseconds. For all
> this calculation, we add a new field to the timekeeper struct,
> ktime_sec. We update this field in the function tk_update_ktime_data()
> by including the calculation of monotonic clock time in seconds and
> including the tk_xtime() implementation that gives the nanoseconds value
> of last timer click instead of using timekeeping_get_ns() which is
> expensive and we do not require such fine resolution for nanoseconds.
>
> Signed-off-by: Heena Sirwani <heenasirwani@gmail.com>
>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip:timers/2038] timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC
2014-10-29 10:31 ` [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64() Heena Sirwani
2014-10-29 10:47 ` Arnd Bergmann
@ 2014-10-29 14:18 ` tip-bot for Heena Sirwani
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot for Heena Sirwani @ 2014-10-29 14:18 UTC (permalink / raw)
To: linux-tip-commits
Cc: hpa, linux-kernel, john.stultz, tglx, heenasirwani, arnd, mingo
Commit-ID: 9e3680b1750b9a62680b0262c9f438de98b77655
Gitweb: http://git.kernel.org/tip/9e3680b1750b9a62680b0262c9f438de98b77655
Author: Heena Sirwani <heenasirwani@gmail.com>
AuthorDate: Wed, 29 Oct 2014 16:01:16 +0530
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 29 Oct 2014 15:15:40 +0100
timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC
This is the counterpart to get_seconds() based on CLOCK_MONOTONIC. The
use case for this interface are kernel internal coarse grained
timestamps which do neither require the nanoseconds fraction of
current time nor the CLOCK_REALTIME properties. Such timestamps can
currently only retrieved by calling ktime_get_ts64() and using the
tv_sec field of the returned timespec64. That's inefficient as it
involves the read of the clocksource, math operations and must be
protected by the timekeeper sequence counter.
To avoid the sequence counter protection we restrict the return value
to unsigned 32bit on 32bit machines. This covers ~136 years of uptime
and therefor an overflow is not expected to hit anytime soon.
To avoid math in the function we calculate the current seconds portion
of CLOCK_MONOTONIC when the timekeeper gets updated in
tk_update_ktime_data() similar to the CLOCK_REALTIME counterpart
xtime_sec.
[ tglx: Massaged changelog, simplified and commented the update
function, added docbook comment ]
Signed-off-by: Heena Sirwani <heenasirwani@gmail.com>
Reviewed-by: Arnd Bergman <arnd@arndb.de>
Cc: John Stultz <john.stultz@linaro.org>
Cc: opw-kernel@googlegroups.com
Link: http://lkml.kernel.org/r/da0b63f4bdf3478909f92becb35861197da3a905.1414578445.git.heenasirwani@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/timekeeper_internal.h | 2 ++
include/linux/timekeeping.h | 1 +
kernel/time/timekeeping.c | 38 ++++++++++++++++++++++++++++++++-----
3 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/include/linux/timekeeper_internal.h b/include/linux/timekeeper_internal.h
index 95640dc..05af9a3 100644
--- a/include/linux/timekeeper_internal.h
+++ b/include/linux/timekeeper_internal.h
@@ -42,6 +42,7 @@ struct tk_read_base {
* struct timekeeper - Structure holding internal timekeeping values.
* @tkr: The readout base structure
* @xtime_sec: Current CLOCK_REALTIME time in seconds
+ * @ktime_sec: Current CLOCK_MONOTONIC time in seconds
* @wall_to_monotonic: CLOCK_REALTIME to CLOCK_MONOTONIC offset
* @offs_real: Offset clock monotonic -> clock realtime
* @offs_boot: Offset clock monotonic -> clock boottime
@@ -77,6 +78,7 @@ struct tk_read_base {
struct timekeeper {
struct tk_read_base tkr;
u64 xtime_sec;
+ unsigned long ktime_sec;
struct timespec64 wall_to_monotonic;
ktime_t offs_real;
ktime_t offs_boot;
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
index 1caa6b0..115d55e 100644
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -28,6 +28,7 @@ struct timespec __current_kernel_time(void);
struct timespec get_monotonic_coarse(void);
extern void getrawmonotonic(struct timespec *ts);
extern void ktime_get_ts64(struct timespec64 *ts);
+extern time64_t ktime_get_seconds(void);
extern int __getnstimeofday64(struct timespec64 *tv);
extern void getnstimeofday64(struct timespec64 *tv);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index ec1791f..a693270 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -417,7 +417,8 @@ EXPORT_SYMBOL_GPL(pvclock_gtod_unregister_notifier);
*/
static inline void tk_update_ktime_data(struct timekeeper *tk)
{
- s64 nsec;
+ u64 seconds;
+ u32 nsec;
/*
* The xtime based monotonic readout is:
@@ -426,13 +427,22 @@ static inline void tk_update_ktime_data(struct timekeeper *tk)
* nsec = base_mono + now();
* ==> base_mono = (xtime_sec + wtm_sec) * 1e9 + wtm_nsec
*/
- nsec = (s64)(tk->xtime_sec + tk->wall_to_monotonic.tv_sec);
- nsec *= NSEC_PER_SEC;
- nsec += tk->wall_to_monotonic.tv_nsec;
- tk->tkr.base_mono = ns_to_ktime(nsec);
+ seconds = (u64)(tk->xtime_sec + tk->wall_to_monotonic.tv_sec);
+ nsec = (u32) tk->wall_to_monotonic.tv_nsec;
+ tk->tkr.base_mono = ns_to_ktime(seconds * NSEC_PER_SEC + nsec);
/* Update the monotonic raw base */
tk->base_raw = timespec64_to_ktime(tk->raw_time);
+
+ /*
+ * The sum of the nanoseconds portions of xtime and
+ * wall_to_monotonic can be greater/equal one second. Take
+ * this into account before updating tk->ktime_sec.
+ */
+ nsec += (u32)(tk->tkr.xtime_nsec >> tk->tkr.shift);
+ if (nsec >= NSEC_PER_SEC)
+ seconds++;
+ tk->ktime_sec = seconds;
}
/* must hold timekeeper_lock */
@@ -648,6 +658,24 @@ void ktime_get_ts64(struct timespec64 *ts)
}
EXPORT_SYMBOL_GPL(ktime_get_ts64);
+/**
+ * ktime_get_seconds - Get the seconds portion of CLOCK_MONOTONIC
+ *
+ * Returns the seconds portion of CLOCK_MONOTONIC with a single non
+ * serialized read. tk->ktime_sec is of type 'unsigned long' so this
+ * works on both 32 and 64 bit systems. On 32 bit systems the readout
+ * covers ~136 years of uptime which should be enough to prevent
+ * premature wrap arounds.
+ */
+time64_t ktime_get_seconds(void)
+{
+ struct timekeeper *tk = &tk_core.timekeeper;
+
+ WARN_ON(timekeeping_suspended);
+ return tk->ktime_sec;
+}
+EXPORT_SYMBOL_GPL(ktime_get_seconds);
+
#ifdef CONFIG_NTP_PPS
/**
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip:timers/2038] timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME
2014-10-29 10:31 ` [PATCH v8 2/2] timekeeping: Added a function to return tv_sec portion of ktime_get_real_ts64() Heena Sirwani
@ 2014-10-29 14:18 ` tip-bot for Heena Sirwani
0 siblings, 0 replies; 8+ messages in thread
From: tip-bot for Heena Sirwani @ 2014-10-29 14:18 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, john.stultz, hpa, mingo, heenasirwani, tglx, arnd
Commit-ID: dbe7aa622db96b5cd601f59d09c4f00b98b76079
Gitweb: http://git.kernel.org/tip/dbe7aa622db96b5cd601f59d09c4f00b98b76079
Author: Heena Sirwani <heenasirwani@gmail.com>
AuthorDate: Wed, 29 Oct 2014 16:01:50 +0530
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 29 Oct 2014 15:15:40 +0100
timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME
ktime_get_real_seconds() is the replacement function for get_seconds()
returning the seconds portion of CLOCK_REALTIME in a time64_t. For
64bit the function is equivivalent to get_seconds(), but for 32bit it
protects the readout with the timekeeper sequence count. This is
required because 32-bit machines cannot access 64-bit tk->xtime_sec
variable atomically.
[tglx: Massaged changelog and added docbook comment ]
Signed-off-by: Heena Sirwani <heenasirwani@gmail.com>
Reviewed-by: Arnd Bergman <arnd@arndb.de>
Cc: John Stultz <john.stultz@linaro.org>
Cc: opw-kernel@googlegroups.com
Link: http://lkml.kernel.org/r/7adcfaa8962b8ad58785d9a2456c3f77d93c0ffb.1414578445.git.heenasirwani@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/timekeeping.h | 1 +
kernel/time/timekeeping.c | 30 ++++++++++++++++++++++++++++++
2 files changed, 31 insertions(+)
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h
index 115d55e..91454de 100644
--- a/include/linux/timekeeping.h
+++ b/include/linux/timekeeping.h
@@ -29,6 +29,7 @@ struct timespec get_monotonic_coarse(void);
extern void getrawmonotonic(struct timespec *ts);
extern void ktime_get_ts64(struct timespec64 *ts);
extern time64_t ktime_get_seconds(void);
+extern time64_t ktime_get_real_seconds(void);
extern int __getnstimeofday64(struct timespec64 *tv);
extern void getnstimeofday64(struct timespec64 *tv);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index a693270..0aef92a 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -676,6 +676,36 @@ time64_t ktime_get_seconds(void)
}
EXPORT_SYMBOL_GPL(ktime_get_seconds);
+/**
+ * ktime_get_real_seconds - Get the seconds portion of CLOCK_REALTIME
+ *
+ * Returns the wall clock seconds since 1970. This replaces the
+ * get_seconds() interface which is not y2038 safe on 32bit systems.
+ *
+ * For 64bit systems the fast access to tk->xtime_sec is preserved. On
+ * 32bit systems the access must be protected with the sequence
+ * counter to provide "atomic" access to the 64bit tk->xtime_sec
+ * value.
+ */
+time64_t ktime_get_real_seconds(void)
+{
+ struct timekeeper *tk = &tk_core.timekeeper;
+ time64_t seconds;
+ unsigned int seq;
+
+ if (IS_ENABLED(CONFIG_64BIT))
+ return tk->xtime_sec;
+
+ do {
+ seq = read_seqcount_begin(&tk_core.seq);
+ seconds = tk->xtime_sec;
+
+ } while (read_seqcount_retry(&tk_core.seq, seq));
+
+ return seconds;
+}
+EXPORT_SYMBOL_GPL(ktime_get_real_seconds);
+
#ifdef CONFIG_NTP_PPS
/**
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds()
2014-10-29 10:30 [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64() Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 2/2] timekeeping: Added a function to return tv_sec portion of ktime_get_real_ts64() Heena Sirwani
@ 2014-10-29 14:21 ` Thomas Gleixner
2014-10-29 15:11 ` [OPW kernel] " Arnd Bergmann
2 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2014-10-29 14:21 UTC (permalink / raw)
To: Heena Sirwani; +Cc: opw-kernel, linux-kernel, john.stultz, arnd
On Wed, 29 Oct 2014, Heena Sirwani wrote:
> The following patchset adds two functions as follows:
> -ktime_get_seconds() to return tv_sec portion of
> ktime_get_ts64().
> -ktime_get_real_seconds() to return tv_sec portion of
> ktime_get_real_ts64().
>
> Changes in v8:
> -changed type of ktime_sec to unsigned long
> - Added a patch with ktime_get_real_seconds().
Heena, thanks for your patience and for following up to the reviews.
I merged the lot into tip timers/2038. Thats a new branch reserved for
the 2038 work.
Arnd, feel free to pull that branch into your tree for the patches
which depend on those interfaces.
Thanks,
tglx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OPW kernel] Re: [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds()
2014-10-29 14:21 ` [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Thomas Gleixner
@ 2014-10-29 15:11 ` Arnd Bergmann
0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2014-10-29 15:11 UTC (permalink / raw)
To: opw-kernel; +Cc: Thomas Gleixner, Heena Sirwani, linux-kernel, john.stultz
On Wednesday 29 October 2014 15:21:16 Thomas Gleixner wrote:
> On Wed, 29 Oct 2014, Heena Sirwani wrote:
>
> > The following patchset adds two functions as follows:
> > -ktime_get_seconds() to return tv_sec portion of
> > ktime_get_ts64().
> > -ktime_get_real_seconds() to return tv_sec portion of
> > ktime_get_real_ts64().
> >
> > Changes in v8:
> > -changed type of ktime_sec to unsigned long
> > - Added a patch with ktime_get_real_seconds().
>
> Heena, thanks for your patience and for following up to the reviews.
>
> I merged the lot into tip timers/2038. Thats a new branch reserved for
> the 2038 work.
>
> Arnd, feel free to pull that branch into your tree for the patches
> which depend on those interfaces.
>
Thanks a lot!
I've rebased my y2038 tree on top of that now, and merged Heena's
"[PATCH v6] cpuset: Replace all instances of time_t with time64_t"
on top of that.
Arnd
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-10-29 15:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-29 10:30 [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 1/2] timekeeping: Added a function to return tv_sec portion of ktime_get_ts64() Heena Sirwani
2014-10-29 10:47 ` Arnd Bergmann
2014-10-29 14:18 ` [tip:timers/2038] timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC tip-bot for Heena Sirwani
2014-10-29 10:31 ` [PATCH v8 2/2] timekeeping: Added a function to return tv_sec portion of ktime_get_real_ts64() Heena Sirwani
2014-10-29 14:18 ` [tip:timers/2038] timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME tip-bot for Heena Sirwani
2014-10-29 14:21 ` [PATCH v8 0/2] Added ktime_get_seconds() and ktime_get_real_seconds() Thomas Gleixner
2014-10-29 15:11 ` [OPW kernel] " Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome