timebase
bintime_add(&bt, &timebase.bin);
} timebase __cacheline_aligned;
while ((gen = atomic_load_relaxed(&timebase.gen)) & 1)
base = timebase.bin;
} while (gen != atomic_load_relaxed(&timebase.gen));
bintime_add(&bt2, &timebase.bin);
timebase.gen |= 1; /* change in progress */
timebase.bin = bt;
timebase.gen++; /* commit change */
bintime_add(&bt, &timebase.bin);
timebase.gen |= 1; /* change in progress */
timebase.bin.sec += bt.sec - t;
timebase.gen++; /* commit change */
timebase(&t);
timebase(&t);
void timebase(struct timeval *);