29#if !defined(REALM_TIMERS_USE_RDTSC) && (defined(__i386__) || defined(__x86_64__) || \
30 defined(__aarch64__) || defined(__arm__))
31#define REALM_TIMERS_USE_RDTSC 1
74 uint64_t force_cpu_tsc_freq);
90 bool set(uint64_t ta1, uint64_t tb1, uint64_t ta2, uint64_t tb2);
94 void adjust(uint64_t ta, uint64_t tb);
105 uint64_t
a_zero, b_zero, slope_a_to_b, slope_b_to_a;
109#if REALM_TIMERS_USE_RDTSC
111 static uint64_t raw_cpu_tsc(
void);
114 static uint64_t raw_cpu_tsc_freq(
void);
122#if REALM_TIMERS_USE_RDTSC
123 static bool cpu_tsc_enabled;
170#include "realm/timers.inl"
bool set(uint64_t ta1, uint64_t tb1, uint64_t ta2, uint64_t tb2)
int64_t convert_reverse_delta(int64_t db)
void adjust(uint64_t ta, uint64_t tb)
uint64_t convert_forward_absolute(uint64_t ta)
uint64_t convert_reverse_absolute(uint64_t tb)
int64_t convert_forward_delta(int64_t da)
uint64_t a_zero
Definition timers.h:105
static long long current_time_in_microseconds(bool absolute=false)
static uint64_t zero_time
Definition timers.h:120
static uint64_t nanoseconds_to_native_absolute(uint64_t nanoseconds)
static void set_zero_time(void)
static uint64_t native_time_slower()
static double current_time(bool absolute=false)
static TimescaleConverter native_to_nanoseconds
Definition timers.h:121
static int64_t native_to_nanoseconds_delta(int64_t d_native)
static long long get_zero_time(void)
static int64_t nanoseconds_to_native_delta(int64_t d_nanoseconds)
static long long current_time_in_nanoseconds(bool absolute=false)
static void calibrate(int use_cpu_tsc, uint64_t force_cpu_tsc_freq)
static uint64_t native_to_nanoseconds_absolute(uint64_t native)
static uint64_t native_time()
static long long get_calibration_error()
bool will_expire(long long additional_nsec) const
static TimeLimit relative(long long relative_time_in_nsec, atomic< bool > *_interrupt_flag=0)
uint64_t limit_native
Definition timers.h:148
static TimeLimit absolute(long long absolute_time_in_nsec, atomic< bool > *_interrupt_flag=0)
atomic< bool > * interrupt_flag
Definition timers.h:149
static TimeLimit responsive()
Logger * logger
Definition timers.h:164
TimeStamp(const char *_message, bool _difference, Logger *_logger=0)
bool difference
Definition timers.h:163
const char * message
Definition timers.h:162
uint64_t start_native
Definition timers.h:165
#define REALM_PUBLIC_API
Definition compiler_support.h:217
Definition activemsg.h:38