FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
tick_time.h File Reference

FARGOS CPU tick routines. More...

#include <utils/base/compiler_hints.h>
#include <stdint.h>
#include <sys/time.h>

Go to the source code of this file.

Macros

#define USE_INTERPOLATED_TIME   1
 Set to 1 if interpolated time should be used; 0 if native clock_gettime() call should always be used. More...
 

Typedefs

typedef int(* Clock_GetTime_InterfaceFP) (struct timespec *result, bool force)
 Defines the interface for clock_gettime_via_tick() or equivalent. More...
 

Functions

uint64_t get_CPU_ticks ()
 Return value of CPU tick register. More...
 
void set_tick_rate (double ticksPerNanosecond)
 Manually set CPU tick rate per nanoseconds. More...
 
void set_max_clock_sample_interval (uint64_t nanoseconds)
 Set maximum number of nanoseconds between forced retrieval of time from hardware clock when clock_gettime_via_tick() is called with force=false. Defaults to 1 second. NOTE: setting to 0 will have the effect of preventing any possible use of the interpolated clock. More...
 
uint64_t profile_clock_rate (bool setGlobalRate)
 Normal initialization routine to determine tick rate of underlying hardware. More...
 
int interpolated_clock_gettime (struct timespec *result, bool force)
 Get time with nanosecond precision using interpolation of elapsed CPU ticks. More...
 
int simulated_clock_gettime (struct timespec *result, bool force)
 Alternate of interpolated_clock_gettime() that can use an external RDTSC counter. More...
 
void set_external_rdtsc_variable (uint64_t *rdtsc_pointer)
 Sets the storage location from which the current time in nanoseconds will be read. More...
 
Clock_GetTime_InterfaceFP set_clock_function (Clock_GetTime_InterfaceFP func)
 Set clock routine implementation. More...
 
int clock_gettime_via_tick (struct timespec *result, bool force) OME_ALWAYS_INLINE OME_ALWAYS_OPTIMIZE("-O3")
 

Variables

Clock_GetTime_InterfaceFP clockRoutine_function
 

Detailed Description

FARGOS CPU tick routines.

Generated: Fri Jul 31 2020 18:19:16
Support Information