RTEMS CPU Kit with SuperCore  4.11.2
Macros
Processor Dependent Timestamp Support

This group assists in issues related to timestamp implementation. More...

Macros

#define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC   TRUE
 Selects the timestamp implementation using struct timespec. More...
 
#define CPU_TIMESTAMP_USE_INT64   TRUE
 Selects the timestamp implementation using int64_t and no inlined methods. More...
 
#define CPU_TIMESTAMP_USE_INT64_INLINE   TRUE
 Selects the timestamp implementation using int64_t and inlined methods. More...
 

Detailed Description

This group assists in issues related to timestamp implementation.

The port must choose exactly one of the following defines:

Performance of int64_t versus struct timespec

On PowerPC/psim, inlined int64_t saves ~50 instructions on each _Thread_Dispatch operation which results in a context switch. This works out to be about 10% faster dispatches and 7.5% faster blocking semaphore obtains. The following numbers are in instructions and from tm02 and tm26.

                 timespec  int64  inlined int64

dispatch: 446 446 400 blocking sem obtain: 627 626 581

On SPARC/sis, inlined int64_t shows the same percentage gains. The following numbers are in microseconds and from tm02 and tm26.

                 timespec  int64  inlined int64

dispatch: 59 61 53 blocking sem obtain: 98 100 92

Inlining appears to have a tendency to increase the size of some executables. Not inlining reduces the execution improvement but does not seem to be an improvement on the PowerPC and SPARC. The struct timespec and the executables with int64 not inlined are about the same size.

Macro Definition Documentation

◆ CPU_TIMESTAMP_USE_INT64

#define CPU_TIMESTAMP_USE_INT64   TRUE

Selects the timestamp implementation using int64_t and no inlined methods.

Port Specific Information:

XXX document implementation including references if appropriate

◆ CPU_TIMESTAMP_USE_INT64_INLINE

#define CPU_TIMESTAMP_USE_INT64_INLINE   TRUE

Selects the timestamp implementation using int64_t and inlined methods.

Port Specific Information:

XXX document implementation including references if appropriate

◆ CPU_TIMESTAMP_USE_STRUCT_TIMESPEC

#define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC   TRUE

Selects the timestamp implementation using struct timespec.

Port Specific Information:

XXX document implementation including references if appropriate