diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2012-01-24 03:36:12 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-01-30 14:07:08 -0500 |
commit | 83b11ea1c6ad113519c488853cf06e626c95a64d (patch) | |
tree | 79180eb8e7094014dced059873a741698e28090b /include/linux | |
parent | 5bd89a34d89f252619d83fef3c9325e24311389e (diff) |
Feather-Trace: keep track of interrupt-related interference.2012.1
Increment a processor-local counter whenever an interrupt is handled.
This allows Feather-Trace to include a (truncated) counter and a flag
to report interference from interrupts. This could be used to filter
samples that were disturbed by interrupts.
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/hardirq.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index ba362171e8ae..e6dd5a456bae 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h | |||
@@ -6,6 +6,8 @@ | |||
6 | #include <linux/ftrace_irq.h> | 6 | #include <linux/ftrace_irq.h> |
7 | #include <asm/hardirq.h> | 7 | #include <asm/hardirq.h> |
8 | 8 | ||
9 | #include <litmus/trace_irq.h> | ||
10 | |||
9 | /* | 11 | /* |
10 | * We put the hardirq and softirq counter into the preemption | 12 | * We put the hardirq and softirq counter into the preemption |
11 | * counter. The bitmask has the following meaning: | 13 | * counter. The bitmask has the following meaning: |
@@ -186,6 +188,7 @@ extern void rcu_nmi_exit(void); | |||
186 | account_system_vtime(current); \ | 188 | account_system_vtime(current); \ |
187 | add_preempt_count(HARDIRQ_OFFSET); \ | 189 | add_preempt_count(HARDIRQ_OFFSET); \ |
188 | trace_hardirq_enter(); \ | 190 | trace_hardirq_enter(); \ |
191 | ft_irq_fired(); \ | ||
189 | } while (0) | 192 | } while (0) |
190 | 193 | ||
191 | /* | 194 | /* |
@@ -216,6 +219,7 @@ extern void irq_exit(void); | |||
216 | lockdep_off(); \ | 219 | lockdep_off(); \ |
217 | rcu_nmi_enter(); \ | 220 | rcu_nmi_enter(); \ |
218 | trace_hardirq_enter(); \ | 221 | trace_hardirq_enter(); \ |
222 | ft_irq_fired(); \ | ||
219 | } while (0) | 223 | } while (0) |
220 | 224 | ||
221 | #define nmi_exit() \ | 225 | #define nmi_exit() \ |