lkml.org 
[lkml]   [2019]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCHv4 15/28] x86/vdso: Add offsets page in vvar
From
Date
On 6/14/19 2:58 PM, Thomas Gleixner wrote:
> On Wed, 12 Jun 2019, Dmitry Safonov wrote:
>>
>> +#ifdef CONFIG_TIME_NS
>> +notrace static __always_inline void clk_to_ns(clockid_t clk, struct timespec *ts)
>> +{
>> + struct timens_offsets *timens = (struct timens_offsets *) &timens_page;
>> + struct timespec64 *offset64;
>> +
>> + switch (clk) {
>> + case CLOCK_MONOTONIC:
>> + case CLOCK_MONOTONIC_COARSE:
>> + case CLOCK_MONOTONIC_RAW:
>> + offset64 = &timens->monotonic;
>> + break;
>> + case CLOCK_BOOTTIME:
>> + offset64 = &timens->boottime;
>> + default:
>> + return;
>> + }
>> +
>> + ts->tv_nsec += offset64->tv_nsec;
>> + ts->tv_sec += offset64->tv_sec;
>> + if (ts->tv_nsec >= NSEC_PER_SEC) {
>> + ts->tv_nsec -= NSEC_PER_SEC;
>> + ts->tv_sec++;
>> + }
>> + if (ts->tv_nsec < 0) {
>> + ts->tv_nsec += NSEC_PER_SEC;
>> + ts->tv_sec--;
>> + }
>
> I had to think twice why adding the offset (which can be negative) can
> never result in negative time being returned. A comment explaining this
> would be appreciated.
>
> As I'm planning to merge Vincezos VDSO consolidation into 5.3, can you
> please start to work on top of his series, which should be available as
> final v7 next week hopefully.

Yes, will rebase on the top of his series.

Thanks much,
Dmitry

\
 
 \ /
  Last update: 2019-06-16 19:50    [W:0.049 / U:19.628 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site