MICROUPTIME(9) BSD Kernel Developer's Manual MICROUPTIME(9)NAME
microuptime, getmicrouptime, nanouptime, getnanouptime — get the time
elapsed since boot
SYNOPSIS
#include <sys/time.h>
void
microuptime(struct timeval *tv);
void
getmicrouptime(struct timeval *tv);
void
nanouptime(struct timespec *ts);
void
getnanouptime(struct timespec *tsp);
DESCRIPTION
The microuptime() and getmicrouptime() functions store the time elapsed
since boot as a struct timeval at the address specified by tv. The
nanouptime() and getnanouptime() functions perform the same utility, but
record the elapsed time as a struct timespec instead.
Microuptime() and nanouptime() always query the timecounter to return the
current time as precisely as possible. Whereas getmicrouptime() and
getnanouptime() functions are abstractions which can alternately return a
less precise, but faster to obtain, time. This behaviour can be toggled
via the kern.timecounter.method sysctl variable:
0 sacrifice precision in favor of faster code execution
1 return the more precise time (the same as calling microuptime() or
nanouptime()).
The intent of the getmicrouptime() and getnanouptime() functions is to
enforce the user's preference for timer accuracy versus execution time.
DIAGNOSTICS
Buggy hardware can cause "calcru negative..." when kern.time‐
counter.method is set to 0.
SEE ALSOgetmicrotime(9), getnanotime(9), microtime(9), nanotime(9), tvtohz(9)AUTHORS
This manual page was written by Kelly Yancey ⟨kbyanc@posi.net⟩.
BSD January 3, 2000 BSD