Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #ifndef _LINUX_FTRACE_IRQ_H 3 : : #define _LINUX_FTRACE_IRQ_H 4 : : 5 : : 6 : : #ifdef CONFIG_FTRACE_NMI_ENTER 7 : : extern void arch_ftrace_nmi_enter(void); 8 : : extern void arch_ftrace_nmi_exit(void); 9 : : #else 10 : 0 : static inline void arch_ftrace_nmi_enter(void) { } 11 : 0 : static inline void arch_ftrace_nmi_exit(void) { } 12 : : #endif 13 : : 14 : : #ifdef CONFIG_HWLAT_TRACER 15 : : extern bool trace_hwlat_callback_enabled; 16 : : extern void trace_hwlat_callback(bool enter); 17 : : #endif 18 : : 19 : 0 : static inline void ftrace_nmi_enter(void) 20 : : { 21 : : #ifdef CONFIG_HWLAT_TRACER 22 : : if (trace_hwlat_callback_enabled) 23 : : trace_hwlat_callback(true); 24 : : #endif 25 [ # # ]: 0 : arch_ftrace_nmi_enter(); 26 : : } 27 : : 28 : 0 : static inline void ftrace_nmi_exit(void) 29 : : { 30 : 0 : arch_ftrace_nmi_exit(); 31 : : #ifdef CONFIG_HWLAT_TRACER 32 : : if (trace_hwlat_callback_enabled) 33 : : trace_hwlat_callback(false); 34 : : #endif 35 : : } 36 : : 37 : : #endif /* _LINUX_FTRACE_IRQ_H */