NAME | SYNOPSIS | FEATURES | DESCRIPTION | RETURN VALUES | ATTRIBUTES
#include <dki/hrt/f_hrt.h>void hrTimerValue(uint64_f * count);
DKI
The High Resolution Timer API provides an access to fined grained counter source for application. This counter may be used for functions such as fine grained ordering of events or measurements of short segments of code.
The High Resolution Timer API is available from both user and microkernel execution context. Performance of a read access to the timer is in the order of memory speed, even if the access is made from a user execution context.
The API provides a read access to:
The current timer value.
The timer frequency.
The difference between the minimum and the maximum of the possible timer value.
On 586 and higher Intel architecture family, we have a resolution equal to the processor frequency (i.e better than one micro-second). The counter is based on the hardware 64 bits "rdtsc" register which counts each cpu clock.
The hrTimerValue() function attempts to read the current value form the cpu and to write it in the variable pointed by count.
The hrTimerFrequency() function attempts to write the frequency of the timer to the variable pointed by count.
The hrTimerPeriod() function attempts to write the period value (the difference beetween the maximal and the minimal value) of the timer to the variable pointed by period.
Upon successfull completion, the value pointed to by the parameter is updated. If the hrTimerFrequency() routine sets the variable pointed by count to 0 , no call the the hrTimerValue() routine should be made. In this case, the high resolution timer is not supported, and hrTimerValue() call is not predictable.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | RETURN VALUES | ATTRIBUTES