diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 07:18:45 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2015-08-09 06:21:16 -0400 |
commit | 246fc4491c943b4f2723bf711eadd48c8e4f4045 (patch) | |
tree | bff66ced774394516bb9d91d6b495049bbc96de3 /kernel | |
parent | b4a055a180134a149ec846087ee0153d46652339 (diff) |
Integrate ft_irq_fired() with Linux
This patch hooks up Feather-Trace's ft_irq_fired() handler with
Linux's interrupt handling infrastructure.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/core.c | 5 | ||||
-rw-r--r-- | kernel/softirq.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 123673291ffb..f286554e3395 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -1550,7 +1550,12 @@ void scheduler_ipi(void) | |||
1550 | preempt_fold_need_resched(); | 1550 | preempt_fold_need_resched(); |
1551 | 1551 | ||
1552 | if (llist_empty(&this_rq()->wake_list) && !got_nohz_idle_kick()) | 1552 | if (llist_empty(&this_rq()->wake_list) && !got_nohz_idle_kick()) |
1553 | { | ||
1554 | /* If we don't call irq_enter(), we need to triggger the IRQ | ||
1555 | * tracing manually. */ | ||
1556 | ft_irq_fired(); | ||
1553 | return; | 1557 | return; |
1558 | } | ||
1554 | 1559 | ||
1555 | /* | 1560 | /* |
1556 | * Not all reschedule IPI handlers call irq_enter/irq_exit, since | 1561 | * Not all reschedule IPI handlers call irq_enter/irq_exit, since |
diff --git a/kernel/softirq.c b/kernel/softirq.c index 479e4436f787..99fe8b877e53 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -244,6 +244,9 @@ asmlinkage __visible void __do_softirq(void) | |||
244 | */ | 244 | */ |
245 | current->flags &= ~PF_MEMALLOC; | 245 | current->flags &= ~PF_MEMALLOC; |
246 | 246 | ||
247 | /* Mark Feather-Trace samples as "disturbed". */ | ||
248 | ft_irq_fired(); | ||
249 | |||
247 | pending = local_softirq_pending(); | 250 | pending = local_softirq_pending(); |
248 | account_irq_enter_time(current); | 251 | account_irq_enter_time(current); |
249 | 252 | ||