1 #ifndef _BITS_PROFILE_H 2 #define _BITS_PROFILE_H 3 4 /** @file 5 * 6 * Profiling 7 * 8 */ 9 10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); 11 12 #include <stdint.h> 13 14 /** 15 * Get profiling timestamp 16 * 17 * @ret timestamp Timestamp 18 */ 19 static inline __attribute__ (( always_inline )) uint64_t profile_timestamp(void)20profile_timestamp ( void ) { 21 uint64_t tsc; 22 23 /* Read timestamp counter */ 24 __asm__ __volatile__ ( "rdtsc" : "=A" ( tsc ) ); 25 return tsc; 26 } 27 28 #endif /* _BITS_PROFILE_H */ 29