FreeBSD/sys/kern/kern_tc.c
/*
 * Retrieve feed-forward counter and time of last kernel tick.
 */
Retrieve feed-forward counter and time of last kernel tick.
Retrieve feed - forward counter and time of last kernel tick .
void
ffclock_last_tick(ffcounter *ffcount, struct bintime *bt, uint32_t flags)
{
	struct fftimehands *ffth;
	uint8_t gen;
	do {
		ffth = fftimehands;
		gen = ffth->gen;
		if ((flags & FFCLOCK_LERP) == FFCLOCK_LERP)
			*bt = ffth->tick_time_lerp;
		else
			*bt = ffth->tick_time;
		*ffcount = ffth->tick_ffcount;
	} while (gen == 0 || gen != ffth->gen);
}
void ffclock_last_tick ( ffcounter * ffcount , struct bintime * bt , uint32_t flags ) { struct fftimehands * ffth ; uint8_t gen ; do { ffth = fftimehands ; gen = ffth -> gen ; if ( ( flags & FFCLOCK_LERP ) == FFCLOCK_LERP ) * bt = ffth -> tick_time_lerp ; else * bt = ffth -> tick_time ; * ffcount = ffth -> tick_ffcount ; } while ( gen == 0 || gen != ffth -> gen ) ; }
Retrieve feed-forward counter and time of last kernel tick.
Retrieve feed - forward counter and time of last kernel tick .
/*
	 * No locking but check generation has not changed. Also need to make
	 * sure ffdelta is positive, i.e. ffcount > tick_ffcount.
	 */