aboutsummaryrefslogtreecommitdiff
path: root/include/linux/time_log.h
blob: 1770e9bce617c029a24e9adc335999a6140bf224 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <linux/sched.h>
#include <linux/types.h>

extern bool printk_disable_uart;
#if 1
#define TIME_LOG_START() \
    { \
    	 unsigned long long _start_time = 0; \
    	 unsigned long long _end_time = 0; \
    	 unsigned long long _dur_time = 0; \
        if(printk_disable_uart == 0){ \
        _start_time = sched_clock(); \
        } \
        do { } while(0)

#define TIME_LOG_END(X...) \
				if(printk_disable_uart == 0){ \
        _end_time = sched_clock(); \
        _dur_time = _end_time - _start_time; \
        printk(KERN_ERR X); \
        printk(KERN_ERR"  s:%llu e:%llu d:%llu\n",  \
            _start_time, _end_time, _dur_time ); \
         if(_dur_time > 100000000){ \
        printk(KERN_ERR"warning init time too long!\n");} \
        } \
    } \
    do { } while(0)
#else
#define TIME_LOG_START()  do{} while(0)
#define TIME_LOG_END(X...) do{} while(0)
#endif