timecounter: Merge FreeBSD change r324528

The th_bintime, th_microtime and th_nanotime members of the timehand all cache the last system time (uptime + boottime). Only the format differs. Do not re-calculate the bintime and simply use the value used to calculate the microtime and nanotime.

Group all the updates under the relevant comment.  Remove obsoleted
XXX part.

Submitted by:	Sebastian Huber <sebastian.huber@embedded-brains.de>
MFC after:	1 week

Update #3175.
This commit is contained in:
Konstantin Belousov
2017-10-11 11:03:11 +00:00
committed by Sebastian Huber
parent 5167d0e76b
commit bcbbe76396

View File

@@ -1596,10 +1596,8 @@ _Timecounter_Windup(struct bintime *new_boottimebin,
if (bt.sec != t)
th->th_boottime.sec += bt.sec - t;
}
th->th_bintime = th->th_offset;
bintime_add(&th->th_bintime, &th->th_boottime);
/* Update the UTC timestamps used by the get*() functions. */
/* XXX shouldn't do this here. Should force non-`get' versions. */
th->th_bintime = bt;
bintime2timeval(&bt, &th->th_microtime);
bintime2timespec(&bt, &th->th_nanotime);