From: Enlin Mu <enlin...@unisoc.com>

On the Arm platform,arch_timer may occur irq strom,
By using the next_timer of hrtimer_cpu_base, it is
possible to quickly locate abnormal timers.
As it is an out of tree modules,the function needs
to be exproted.

Signed-off-by: Enlin Mu <enlin...@unisoc.com>
---
 include/linux/hrtimer.h | 1 +
 kernel/time/hrtimer.c   | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index aa1e65ccb615..2a37d2a8e808 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -277,6 +277,7 @@ static inline void hrtimer_start(struct hrtimer *timer, 
ktime_t tim,
 
 extern int hrtimer_cancel(struct hrtimer *timer);
 extern int hrtimer_try_to_cancel(struct hrtimer *timer);
+extern struct hrtimer_cpu_base *get_hrtimer_cpu_base(int cpu);
 
 static inline void hrtimer_start_expires(struct hrtimer *timer,
                                         enum hrtimer_mode mode)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index 70625dff62ce..f7cf7d48b91d 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1309,6 +1309,12 @@ void hrtimer_start_range_ns(struct hrtimer *timer, 
ktime_t tim,
 }
 EXPORT_SYMBOL_GPL(hrtimer_start_range_ns);
 
+struct hrtimer_cpu_base *get_hrtimer_cpu_base(int cpu)
+{
+       return &per_cpu(hrtimer_bases, cpu);
+}
+EXPORT_SYMBOL_GPL(get_hrtimer_cpu_base);
+
 /**
  * hrtimer_try_to_cancel - try to deactivate a timer
  * @timer:     hrtimer to stop
-- 
2.39.2


Reply via email to