FreeBSD/sys/kern/kern_tc.c
/*
 * This is a clone of getnanotime and used for walltimestamps.
 * The dtrace_ prefix prevents fbt from creating probes for
 * it so walltimestamp can be safely used in all fbt probes.
 */
This is a clone of getnanotime and used for walltimestamps.
The dtrace_ prefix prevents fbt from creating probes for
it so walltimestamp can be safely used in all fbt probes.
This is a clone of getnanotime and used for walltimestamps . The dtrace_ prefix prevents fbt from creating probes for it so walltimestamp can be safely used in all fbt probes .
void
dtrace_getnanotime(struct timespec *tsp)
{
	struct timehands *th;
	u_int gen;
	do {
		th = timehands;
		gen = atomic_load_acq_int(&th->th_generation);
		*tsp = th->th_nanotime;
		atomic_thread_fence_acq();
	} while (gen == 0 || gen != th->th_generation);
}
void dtrace_getnanotime ( struct timespec * tsp ) { struct timehands * th ; u_int gen ; do { th = timehands ; gen = atomic_load_acq_int ( & th -> th_generation ) ; * tsp = th -> th_nanotime ; atomic_thread_fence_acq ( ) ; } while ( gen == 0 || gen != th -> th_generation ) ; }
This is a clone of getnanotime and used for walltimestamps.
This is a clone of getnanotime and used for walltimestamps .