* [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
* 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
* [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
* [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