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

Reply via email to