diff options
-rw-r--r-- | include/linux/sched.h | 1 | ||||
-rw-r--r-- | kernel/sched/clock.c | 13 | ||||
-rw-r--r-- | kernel/watchdog.c | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 22ee0d5d7f8c..048b91b983ed 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -2147,6 +2147,7 @@ extern unsigned long long notrace sched_clock(void); | |||
2147 | */ | 2147 | */ |
2148 | extern u64 cpu_clock(int cpu); | 2148 | extern u64 cpu_clock(int cpu); |
2149 | extern u64 local_clock(void); | 2149 | extern u64 local_clock(void); |
2150 | extern u64 running_clock(void); | ||
2150 | extern u64 sched_clock_cpu(int cpu); | 2151 | extern u64 sched_clock_cpu(int cpu); |
2151 | 2152 | ||
2152 | 2153 | ||
diff --git a/kernel/sched/clock.c b/kernel/sched/clock.c index c27e4f8f4879..c0a205101c23 100644 --- a/kernel/sched/clock.c +++ b/kernel/sched/clock.c | |||
@@ -420,3 +420,16 @@ u64 local_clock(void) | |||
420 | 420 | ||
421 | EXPORT_SYMBOL_GPL(cpu_clock); | 421 | EXPORT_SYMBOL_GPL(cpu_clock); |
422 | EXPORT_SYMBOL_GPL(local_clock); | 422 | EXPORT_SYMBOL_GPL(local_clock); |
423 | |||
424 | /* | ||
425 | * Running clock - returns the time that has elapsed while a guest has been | ||
426 | * running. | ||
427 | * On a guest this value should be local_clock minus the time the guest was | ||
428 | * suspended by the hypervisor (for any reason). | ||
429 | * On bare metal this function should return the same as local_clock. | ||
430 | * Architectures and sub-architectures can override this. | ||
431 | */ | ||
432 | u64 __weak running_clock(void) | ||
433 | { | ||
434 | return local_clock(); | ||
435 | } | ||
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 70bf11815f84..3174bf8e3538 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c | |||
@@ -154,7 +154,7 @@ static int get_softlockup_thresh(void) | |||
154 | */ | 154 | */ |
155 | static unsigned long get_timestamp(void) | 155 | static unsigned long get_timestamp(void) |
156 | { | 156 | { |
157 | return local_clock() >> 30LL; /* 2^30 ~= 10^9 */ | 157 | return running_clock() >> 30LL; /* 2^30 ~= 10^9 */ |
158 | } | 158 | } |
159 | 159 | ||
160 | static void set_sample_period(void) | 160 | static void set_sample_period(void) |