1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 26a60dd12SSteven Rostedt #ifndef _LINUX_FTRACE_IRQ_H 36a60dd12SSteven Rostedt #define _LINUX_FTRACE_IRQ_H 46a60dd12SSteven Rostedt 57b2c8625SSteven Rostedt (Red Hat) #ifdef CONFIG_HWLAT_TRACER 67b2c8625SSteven Rostedt (Red Hat) extern bool trace_hwlat_callback_enabled; 77b2c8625SSteven Rostedt (Red Hat) extern void trace_hwlat_callback(bool enter); 87b2c8625SSteven Rostedt (Red Hat) #endif 97b2c8625SSteven Rostedt (Red Hat) 10*bce29ac9SDaniel Bristot de Oliveira #ifdef CONFIG_OSNOISE_TRACER 11*bce29ac9SDaniel Bristot de Oliveira extern bool trace_osnoise_callback_enabled; 12*bce29ac9SDaniel Bristot de Oliveira extern void trace_osnoise_callback(bool enter); 13*bce29ac9SDaniel Bristot de Oliveira #endif 14*bce29ac9SDaniel Bristot de Oliveira ftrace_nmi_enter(void)157b2c8625SSteven Rostedt (Red Hat)static inline void ftrace_nmi_enter(void) 167b2c8625SSteven Rostedt (Red Hat) { 177b2c8625SSteven Rostedt (Red Hat) #ifdef CONFIG_HWLAT_TRACER 187b2c8625SSteven Rostedt (Red Hat) if (trace_hwlat_callback_enabled) 197b2c8625SSteven Rostedt (Red Hat) trace_hwlat_callback(true); 207b2c8625SSteven Rostedt (Red Hat) #endif 21*bce29ac9SDaniel Bristot de Oliveira #ifdef CONFIG_OSNOISE_TRACER 22*bce29ac9SDaniel Bristot de Oliveira if (trace_osnoise_callback_enabled) 23*bce29ac9SDaniel Bristot de Oliveira trace_osnoise_callback(true); 24*bce29ac9SDaniel Bristot de Oliveira #endif 257b2c8625SSteven Rostedt (Red Hat) } 267b2c8625SSteven Rostedt (Red Hat) ftrace_nmi_exit(void)277b2c8625SSteven Rostedt (Red Hat)static inline void ftrace_nmi_exit(void) 287b2c8625SSteven Rostedt (Red Hat) { 297b2c8625SSteven Rostedt (Red Hat) #ifdef CONFIG_HWLAT_TRACER 307b2c8625SSteven Rostedt (Red Hat) if (trace_hwlat_callback_enabled) 317b2c8625SSteven Rostedt (Red Hat) trace_hwlat_callback(false); 327b2c8625SSteven Rostedt (Red Hat) #endif 33*bce29ac9SDaniel Bristot de Oliveira #ifdef CONFIG_OSNOISE_TRACER 34*bce29ac9SDaniel Bristot de Oliveira if (trace_osnoise_callback_enabled) 35*bce29ac9SDaniel Bristot de Oliveira trace_osnoise_callback(false); 36*bce29ac9SDaniel Bristot de Oliveira #endif 377b2c8625SSteven Rostedt (Red Hat) } 387b2c8625SSteven Rostedt (Red Hat) 396a60dd12SSteven Rostedt #endif /* _LINUX_FTRACE_IRQ_H */ 40