Merge tag 'trace-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / include / linux / ftrace_irq.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_FTRACE_IRQ_H
3 #define _LINUX_FTRACE_IRQ_H
4
5 #ifdef CONFIG_HWLAT_TRACER
6 extern bool trace_hwlat_callback_enabled;
7 extern void trace_hwlat_callback(bool enter);
8 #endif
9
10 #ifdef CONFIG_OSNOISE_TRACER
11 extern bool trace_osnoise_callback_enabled;
12 extern void trace_osnoise_callback(bool enter);
13 #endif
14
15 static inline void ftrace_nmi_enter(void)
16 {
17 #ifdef CONFIG_HWLAT_TRACER
18         if (trace_hwlat_callback_enabled)
19                 trace_hwlat_callback(true);
20 #endif
21 #ifdef CONFIG_OSNOISE_TRACER
22         if (trace_osnoise_callback_enabled)
23                 trace_osnoise_callback(true);
24 #endif
25 }
26
27 static inline void ftrace_nmi_exit(void)
28 {
29 #ifdef CONFIG_HWLAT_TRACER
30         if (trace_hwlat_callback_enabled)
31                 trace_hwlat_callback(false);
32 #endif
33 #ifdef CONFIG_OSNOISE_TRACER
34         if (trace_osnoise_callback_enabled)
35                 trace_osnoise_callback(false);
36 #endif
37 }
38
39 #endif /* _LINUX_FTRACE_IRQ_H */