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: |