diff options
-rw-r--r-- | include/linux/trace_clock.h | 1 | ||||
-rw-r--r-- | kernel/trace/trace.c | 1 | ||||
-rw-r--r-- | kernel/trace/trace_clock.c | 10 |
3 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/trace_clock.h b/include/linux/trace_clock.h index d563f37e1a1d..1d7ca2739272 100644 --- a/include/linux/trace_clock.h +++ b/include/linux/trace_clock.h | |||
@@ -16,6 +16,7 @@ | |||
16 | 16 | ||
17 | extern u64 notrace trace_clock_local(void); | 17 | extern u64 notrace trace_clock_local(void); |
18 | extern u64 notrace trace_clock(void); | 18 | extern u64 notrace trace_clock(void); |
19 | extern u64 notrace trace_clock_jiffies(void); | ||
19 | extern u64 notrace trace_clock_global(void); | 20 | extern u64 notrace trace_clock_global(void); |
20 | extern u64 notrace trace_clock_counter(void); | 21 | extern u64 notrace trace_clock_counter(void); |
21 | 22 | ||
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index f90ca16afcf2..8eabfbb8003e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -647,6 +647,7 @@ static struct { | |||
647 | { trace_clock_local, "local", 1 }, | 647 | { trace_clock_local, "local", 1 }, |
648 | { trace_clock_global, "global", 1 }, | 648 | { trace_clock_global, "global", 1 }, |
649 | { trace_clock_counter, "counter", 0 }, | 649 | { trace_clock_counter, "counter", 0 }, |
650 | { trace_clock_jiffies, "uptime", 1 }, | ||
650 | ARCH_TRACE_CLOCKS | 651 | ARCH_TRACE_CLOCKS |
651 | }; | 652 | }; |
652 | 653 | ||
diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c index aa8f5f48dae6..26dc348332b7 100644 --- a/kernel/trace/trace_clock.c +++ b/kernel/trace/trace_clock.c | |||
@@ -57,6 +57,16 @@ u64 notrace trace_clock(void) | |||
57 | return local_clock(); | 57 | return local_clock(); |
58 | } | 58 | } |
59 | 59 | ||
60 | /* | ||
61 | * trace_jiffy_clock(): Simply use jiffies as a clock counter. | ||
62 | */ | ||
63 | u64 notrace trace_clock_jiffies(void) | ||
64 | { | ||
65 | u64 jiffy = jiffies - INITIAL_JIFFIES; | ||
66 | |||
67 | /* Return nsecs */ | ||
68 | return (u64)jiffies_to_usecs(jiffy) * 1000ULL; | ||
69 | } | ||
60 | 70 | ||
61 | /* | 71 | /* |
62 | * trace_clock_global(): special globally coherent trace clock | 72 | * trace_clock_global(): special globally coherent trace clock |