X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=share%2Fkernelcompat.h;h=b0c77e0972a66f8d03235494f4e5be72fcbc281a;hb=772030fed323e388da467735cf4b5e8781acb710;hp=3c23ac99477b8d95e4c367b59f58d7c95daf4834;hpb=4268fdcdcb96f72e945f52b9f94f6ad841e297c9;p=ust.git diff --git a/share/kernelcompat.h b/share/kernelcompat.h index 3c23ac9..b0c77e0 100644 --- a/share/kernelcompat.h +++ b/share/kernelcompat.h @@ -92,8 +92,6 @@ static inline long IS_ERR(const void *ptr) /* ATTRIBUTES */ #define ____cacheline_aligned -#define __init -#define __exit /* MATH */ @@ -141,7 +139,7 @@ static __inline__ int get_count_order(unsigned int count) #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) #define PAGE_SIZE sysconf(_SC_PAGE_SIZE) -#define PAGE_MASK (PAGE_SIZE-1) +#define PAGE_MASK (~(PAGE_SIZE-1)) @@ -152,31 +150,31 @@ static __inline__ int get_count_order(unsigned int count) /* TRACE CLOCK */ -//ust// static inline u64 trace_clock_read64(void) -//ust// { -//ust// uint32_t low; -//ust// uint32_t high; -//ust// uint64_t retval; -//ust// __asm__ volatile ("rdtsc\n" : "=a" (low), "=d" (high)); -//ust// -//ust// retval = high; -//ust// retval <<= 32; -//ust// return retval | low; -//ust// } - static inline u64 trace_clock_read64(void) { - struct timeval tv; - u64 retval; - - gettimeofday(&tv, NULL); - retval = tv.tv_sec; - retval *= 1000000; - retval += tv.tv_usec; - - return retval; + uint32_t low; + uint32_t high; + uint64_t retval; + __asm__ volatile ("rdtsc\n" : "=a" (low), "=d" (high)); + + retval = high; + retval <<= 32; + return retval | low; } +//static inline u64 trace_clock_read64(void) +//{ +// struct timeval tv; +// u64 retval; +// +// gettimeofday(&tv, NULL); +// retval = tv.tv_sec; +// retval *= 1000000; +// retval += tv.tv_usec; +// +// return retval; +//} + static inline u64 trace_clock_frequency(void) { return 1000000LL;