Re: [PATCH v10 3/7] x86/time: read_boot_clock64() implementation

From: Pavel Tatashin
Date: Tue Jun 19 2018 - 10:24:16 EST


> > > +void __init read_boot_clock64(struct timespec64 *now, struct timespec64 *ts)
> > > +{
> > > + u64 ns_boot = sched_clock_cpu(smp_processor_id());
> > > + bool valid_clock;
> > > + u64 ns_now;
> > > +
> > > + ns_now = timespec64_to_ns(now);
> > > + valid_clock = ns_boot && timespec64_valid_strict(now) &&
> > > + (ns_now > ns_boot);
> > > +
> >
>
>
> > > + if (!valid_clock)
>
> Are we expecting more often clock to be non-valid?
> Perhaps change to positive conditional?

Hi Andy,

Sure, I will change to:
if (valid_clock)
...
else
...

>
> > > + *ts = (struct timespec64){0, 0};
>
> I dunno if additional variable would be better for readability, like
>
> struct timespec64 null_ts = {0,0};

I don't mind adding ts_null, but I think, as-is ok here,

> ...
> *ts = null_ts;
>
> > > + else
> > > + *ts = ns_to_timespec64(ns_now - ns_boot);
>
> But I'm fine as long as Thomas is okay with this code.
>

Thank you for the review!

Pavel