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 ftrace_nmi_enter(void)15static 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 ftrace_nmi_exit(void)27static 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 */ 40