diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-06-23 08:51:57 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-08-07 03:46:38 -0400 |
commit | 5ef7e2dad47bce26ce3afd0c402f6cc185e75ad6 (patch) | |
tree | 0a35e4b6b64321ea6d1a89bce27355b6eb01a67d /kernel | |
parent | e089fc170eb4c33c8703bf09cacdff7323cf7575 (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 e8b335016c52..a4c8c093f6bc 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -1408,7 +1408,12 @@ void scheduler_ipi(void) | |||
1408 | if (llist_empty(&this_rq()->wake_list) | 1408 | if (llist_empty(&this_rq()->wake_list) |
1409 | && !tick_nohz_full_cpu(smp_processor_id()) | 1409 | && !tick_nohz_full_cpu(smp_processor_id()) |
1410 | && !got_nohz_idle_kick()) | 1410 | && !got_nohz_idle_kick()) |
1411 | { | ||
1412 | /* If we don't call irq_enter(), we need to triggger the IRQ | ||
1413 | * tracing manually. */ | ||
1414 | ft_irq_fired(); | ||
1411 | return; | 1415 | return; |
1416 | } | ||
1412 | 1417 | ||
1413 | /* | 1418 | /* |
1414 | * Not all reschedule IPI handlers call irq_enter/irq_exit, since | 1419 | * Not all reschedule IPI handlers call irq_enter/irq_exit, since |
diff --git a/kernel/softirq.c b/kernel/softirq.c index 3d6833f125d3..746010e5f523 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -226,6 +226,9 @@ asmlinkage void __do_softirq(void) | |||
226 | */ | 226 | */ |
227 | current->flags &= ~PF_MEMALLOC; | 227 | current->flags &= ~PF_MEMALLOC; |
228 | 228 | ||
229 | /* Mark Feather-Trace samples as "disturbed". */ | ||
230 | ft_irq_fired(); | ||
231 | |||
229 | pending = local_softirq_pending(); | 232 | pending = local_softirq_pending(); |
230 | account_irq_enter_time(current); | 233 | account_irq_enter_time(current); |
231 | 234 | ||