Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef _LINUX_FTRACE_IRQ_H
2#define _LINUX_FTRACE_IRQ_H
3
4
5#ifdef CONFIG_FTRACE_NMI_ENTER
6extern void arch_ftrace_nmi_enter(void);
7extern void arch_ftrace_nmi_exit(void);
8#else
9static inline void arch_ftrace_nmi_enter(void) { }
10static inline void arch_ftrace_nmi_exit(void) { }
11#endif
12
13#ifdef CONFIG_HWLAT_TRACER
14extern bool trace_hwlat_callback_enabled;
15extern void trace_hwlat_callback(bool enter);
16#endif
17
18static inline void ftrace_nmi_enter(void)
19{
20#ifdef CONFIG_HWLAT_TRACER
21 if (trace_hwlat_callback_enabled)
22 trace_hwlat_callback(true);
23#endif
24 arch_ftrace_nmi_enter();
25}
26
27static inline void ftrace_nmi_exit(void)
28{
29 arch_ftrace_nmi_exit();
30#ifdef CONFIG_HWLAT_TRACER
31 if (trace_hwlat_callback_enabled)
32 trace_hwlat_callback(false);
33#endif
34}
35
36#endif /* _LINUX_FTRACE_IRQ_H */