diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-11-10 12:20:48 -0500 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-11-11 17:57:47 -0500 |
| commit | f599a587e1c7446a76d7d62ed7748f3c4435acd8 (patch) | |
| tree | 4a3830072b602c333be6ebbc8679fa0813d5bd90 | |
| parent | 2c142d1028f276c6d5e58c553768ae32ed9bda68 (diff) | |
Hook up LITMUS^RT remote preemption support on ARM
Call into scheduler state machine in the IPI handler.
| -rw-r--r-- | arch/arm/kernel/smp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 40dc74f2b27f..b72fbf3d043c 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
| @@ -38,6 +38,8 @@ | |||
| 38 | #include <asm/localtimer.h> | 38 | #include <asm/localtimer.h> |
| 39 | #include <asm/smp_plat.h> | 39 | #include <asm/smp_plat.h> |
| 40 | 40 | ||
| 41 | #include <litmus/preempt.h> | ||
| 42 | |||
| 41 | /* | 43 | /* |
| 42 | * as from 2.5, kernels no longer have an init_tasks structure | 44 | * as from 2.5, kernels no longer have an init_tasks structure |
| 43 | * so we need some other way of telling a new secondary core | 45 | * so we need some other way of telling a new secondary core |
| @@ -533,6 +535,8 @@ asmlinkage void __exception do_IPI(struct pt_regs *regs) | |||
| 533 | * nothing more to do - eveything is | 535 | * nothing more to do - eveything is |
| 534 | * done on the interrupt return path | 536 | * done on the interrupt return path |
| 535 | */ | 537 | */ |
| 538 | /* LITMUS^RT: take action based on scheduler state */ | ||
| 539 | sched_state_ipi(); | ||
| 536 | break; | 540 | break; |
| 537 | 541 | ||
| 538 | case IPI_CALL_FUNC: | 542 | case IPI_CALL_FUNC: |
