aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/hardirq.h3
-rw-r--r--include/litmus/trace_irq.h14
2 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index f4af03404b97..b01723cf13cf 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -7,6 +7,7 @@
7#include <linux/vtime.h> 7#include <linux/vtime.h>
8#include <asm/hardirq.h> 8#include <asm/hardirq.h>
9 9
10#include <litmus/trace_irq.h>
10 11
11extern void synchronize_irq(unsigned int irq); 12extern void synchronize_irq(unsigned int irq);
12extern bool synchronize_hardirq(unsigned int irq); 13extern bool synchronize_hardirq(unsigned int irq);
@@ -37,6 +38,7 @@ extern void rcu_nmi_exit(void);
37 account_irq_enter_time(current); \ 38 account_irq_enter_time(current); \
38 preempt_count_add(HARDIRQ_OFFSET); \ 39 preempt_count_add(HARDIRQ_OFFSET); \
39 trace_hardirq_enter(); \ 40 trace_hardirq_enter(); \
41 ft_irq_fired(); \
40 } while (0) 42 } while (0)
41 43
42/* 44/*
@@ -67,6 +69,7 @@ extern void irq_exit(void);
67 preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \ 69 preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
68 rcu_nmi_enter(); \ 70 rcu_nmi_enter(); \
69 trace_hardirq_enter(); \ 71 trace_hardirq_enter(); \
72 ft_irq_fired(); \
70 } while (0) 73 } while (0)
71 74
72#define nmi_exit() \ 75#define nmi_exit() \
diff --git a/include/litmus/trace_irq.h b/include/litmus/trace_irq.h
new file mode 100644
index 000000000000..0d0c042ba9c3
--- /dev/null
+++ b/include/litmus/trace_irq.h
@@ -0,0 +1,14 @@
1#ifndef _LITMUS_TRACE_IRQ_H_
2#define _LITMUS_TRACE_IRQ_H_
3
4#ifdef CONFIG_SCHED_OVERHEAD_TRACE
5
6void ft_irq_fired(void);
7
8#else
9
10#define ft_irq_fired() /* nothing to do */
11
12#endif
13
14#endif