diff options
Diffstat (limited to 'kernel/sched_clock.c')
| -rw-r--r-- | kernel/sched_clock.c | 23 | 
1 files changed, 15 insertions, 8 deletions
| diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c index 479ce5682d7c..5b496132c28a 100644 --- a/kernel/sched_clock.c +++ b/kernel/sched_clock.c | |||
| @@ -236,6 +236,18 @@ void sched_clock_idle_wakeup_event(u64 delta_ns) | |||
| 236 | } | 236 | } | 
| 237 | EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event); | 237 | EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event); | 
| 238 | 238 | ||
| 239 | unsigned long long cpu_clock(int cpu) | ||
| 240 | { | ||
| 241 | unsigned long long clock; | ||
| 242 | unsigned long flags; | ||
| 243 | |||
| 244 | local_irq_save(flags); | ||
| 245 | clock = sched_clock_cpu(cpu); | ||
| 246 | local_irq_restore(flags); | ||
| 247 | |||
| 248 | return clock; | ||
| 249 | } | ||
| 250 | |||
| 239 | #else /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */ | 251 | #else /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */ | 
| 240 | 252 | ||
| 241 | void sched_clock_init(void) | 253 | void sched_clock_init(void) | 
| @@ -251,17 +263,12 @@ u64 sched_clock_cpu(int cpu) | |||
| 251 | return sched_clock(); | 263 | return sched_clock(); | 
| 252 | } | 264 | } | 
| 253 | 265 | ||
| 254 | #endif /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */ | ||
| 255 | 266 | ||
| 256 | unsigned long long cpu_clock(int cpu) | 267 | unsigned long long cpu_clock(int cpu) | 
| 257 | { | 268 | { | 
| 258 | unsigned long long clock; | 269 | return sched_clock_cpu(cpu); | 
| 259 | unsigned long flags; | 270 | } | 
| 260 | 271 | ||
| 261 | local_irq_save(flags); | 272 | #endif /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */ | 
| 262 | clock = sched_clock_cpu(cpu); | ||
| 263 | local_irq_restore(flags); | ||
| 264 | 273 | ||
| 265 | return clock; | ||
| 266 | } | ||
| 267 | EXPORT_SYMBOL_GPL(cpu_clock); | 274 | EXPORT_SYMBOL_GPL(cpu_clock); | 
