lkml.org 
[lkml]   [2014]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v2] timekeeping: Added a function to return tv_sec portion of ktime_get_real_ts64()
Date
On Tuesday 28 October 2014 16:43:42 Thomas Gleixner wrote:
> >
> > +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);
>
> Nice and clean implementation! Though I wonder whether we should just
> name it get_seconds64().
>

I don't have a strong opinion here, I suggested ktime_get_real_seconds()
for consistency with ktime_get_real_ts64(), but get_seconds64() would
make as much sense.

As I mentioned in my other reply, we have also concluded that returning
'unsigned long' from get_seconds() at the moment is actually not a
problem for y2038 because it will do the right until 2106 by returning
the unsigned lower 32-bit of the correct 64-bit number, so we might
not actually need this one.

I also don't have a strong opinion on this matter, adding it would
make it easier for developers to pick get_seconds64/ktime_get_real_ts64()
and understand that it's correct without having to know the finer
details of the time_t/ulong distinction.

Arnd


\
 
 \ /
  Last update: 2014-10-28 17:21    [W:0.049 / U:0.672 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site