GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / V2-12-1 > pbs / rhel4-32
Defines | |
#define | PTS_GETS() |
Macro to get the short range of the processor time. | |
#define | PTS_GETX() |
Macro to get the full extended range of the processor time. | |
#define | PTS_NSECS_TO_PTUS(_nsecs) PTS_nsecs_to_ptus(_nsecs) |
Converts a short range nanoseconds to a processor time. | |
#define | PTS_PTUS_TO_NSECS(_ptus) PTS_ptus_to_nsecs (_ptus) |
Converts a short range processor time to nanoseconds. | |
#define | PTS_DELTAS(_beg, _end) ((_end) - (_beg)) |
Subtracts two short range processor times. | |
#define | PTS_DELTAS_IN_NSECS(_beg, _end) |
Subtracts two short range processor times and converts the difference to nanoseconds. | |
#define | PTS_NSECX_TO_PTUX(_nsecx) PTS_nsecx_to_ptux(_nsecx) |
Converts an extended range nanoseconds to a processor time. | |
#define | PTS_PTUX_TO_NSECX(_ptux) PTS_ptux_to_nsecx (_ptux) |
Converts a extended range processor time to nanocseconds. | |
#define | PTS_DELTAX(_beg, _end) ((_end) - (_beg)) |
Subtracts two extended range processor times. | |
#define | PTS_DELTAX_IN_NSECX(_beg, _end) PTS_PTUX_TO_NSECX(PTS_DELTAX(_beg, _end)) |
Subtracts two extended range processor times and converts the difference to nanoseconds (64 bit result). | |
Typedefs | |
typedef signed long long | PTS_timex |
The typedef for declaring extended range processor time variables. | |
typedef unsigned int | PTS_times |
The typedef for declaring short range processor time variables. |
CVS $Id: PTS.h.xx-x86-gcc,v 1.5 2011/03/24 23:05:45 apw Exp $
The implementation is based on the on-board processor clock.
#define PTS_DELTAS | ( | _beg, | |||
_end | ) | ((_end) - (_beg)) |
Subtracts two short range processor times.
_beg | The beginning time | |
_end | The ending time |
#define PTS_DELTAS_IN_NSECS | ( | _beg, | |||
_end | ) |
Value:
PTS_PTUS_TO_NSECS(PTS_DELTAS(_beg,\ _end))
_beg | The beginning time | |
_end | The ending time |
#define PTS_DELTAX | ( | _beg, | |||
_end | ) | ((_end) - (_beg)) |
Subtracts two extended range processor times.
_beg | The beginning time | |
_end | The ending time |
#define PTS_DELTAX_IN_NSECX | ( | _beg, | |||
_end | ) | PTS_PTUX_TO_NSECX(PTS_DELTAX(_beg, _end)) |
Subtracts two extended range processor times and converts the difference to nanoseconds (64 bit result).
_beg | The beginning time | |
_end | The ending time |
#define PTS_GETS | ( | ) |
Value:
({ \ unsigned long long t; \ __asm__ volatile (".byte 0x0f,0x31" : "=A"(t)); \ (unsigned int)t; \ })
PTS_GETS() gets the short range of the processor time. This is is generally a 32-bit value, however, the exact representation is platform dependent. The user should use the typedef PTS_times to declare an short range processor time variable.
This is implemented as a macro because its only value is to act as a low overhead method of timing short duration fragments of code. If one is timing long durations (where long is a platform dependent definition, but generally means greater than one second) PTS_GETX() is more appropriate.
Referenced by PBS_initialize2().
#define PTS_GETX | ( | ) |
Value:
({ \ unsigned long long t; \ __asm__ volatile (".byte 0x0f,0x31" : "=A"(t)); \ t; \ })
PTS_GETX() gets the full extended range of the processor time. This is is generally a 64-bit value, however, the exact representation is platform dependent. The user should use the typedef PTS_timex to declare an extended range processor time variable.
This is implemented as a macro because its only value is to act as a low overhead method of timing short duration fragments of code. See PTS_GETS() for the short version of getting the processor time. If one is timing short code segments (where short is a platform dependent definition, but generally means subsecond), PTS_GETS() is lower overhead. Be aware that PTS_GETX() is just an elapsed timer, so the timing long segments of code also includes any time that may elapse due to interrupt or task switching.
#define PTS_NSECS_TO_PTUS | ( | _nsecs | ) | PTS_nsecs_to_ptus(_nsecs) |
Converts a short range nanoseconds to a processor time.
_nsecs | The short range time, in nanoseconds, to convert to a processor time. |
#define PTS_NSECX_TO_PTUX | ( | _nsecx | ) | PTS_nsecx_to_ptux(_nsecx) |
Converts an extended range nanoseconds to a processor time.
_nsecx | The extended range time, in nanoseconds, to convert to a processor time |
#define PTS_PTUS_TO_NSECS | ( | _ptus | ) | PTS_ptus_to_nsecs (_ptus) |
Converts a short range processor time to nanoseconds.
_ptus | The short range processor time to convert. This value is generally the result of a call to PTS_GETS(). |
#define PTS_PTUX_TO_NSECX | ( | _ptux | ) | PTS_ptux_to_nsecx (_ptux) |
Converts a extended range processor time to nanocseconds.
_ptux | The extended range processor time to convert. This value is generally the result of a call to PTS_GETX(). |