diff options
author | Peter Zijlstra <[email protected]> | 2011-04-05 17:23:39 +0200 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2011-04-14 08:52:32 +0200 |
commit | 184748cc50b2dceb8287f9fb657eda48ff8fcfe7 (patch) | |
tree | da32494cf29e5ec9f80b17dc8590bdc450ea545a /arch/sh/kernel/smp.c | |
parent | a4c98f8bbeafee12c979c90743f6fda94f7515c7 (diff) |
sched: Provide scheduler_ipi() callback in response to smp_send_reschedule()
For future rework of try_to_wake_up() we'd like to push part of that
function onto the CPU the task is actually going to run on.
In order to do so we need a generic callback from the existing scheduler IPI.
This patch introduces such a generic callback: scheduler_ipi() and
implements it as a NOP.
BenH notes: PowerPC might use this IPI on offline CPUs under rare conditions!
Acked-by: Russell King <[email protected]>
Acked-by: Martin Schwidefsky <[email protected]>
Acked-by: Chris Metcalf <[email protected]>
Acked-by: Jesper Nilsson <[email protected]>
Acked-by: Benjamin Herrenschmidt <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
Reviewed-by: Frank Rowand <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Nick Piggin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'arch/sh/kernel/smp.c')
-rw-r--r-- | arch/sh/kernel/smp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index 509b36b45115..6207561ea34a 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c @@ -20,6 +20,7 @@ #include <linux/module.h> #include <linux/cpu.h> #include <linux/interrupt.h> +#include <linux/sched.h> #include <asm/atomic.h> #include <asm/processor.h> #include <asm/system.h> @@ -323,6 +324,7 @@ void smp_message_recv(unsigned int msg) generic_smp_call_function_interrupt(); break; case SMP_MSG_RESCHEDULE: + scheduler_ipi(); break; case SMP_MSG_FUNCTION_SINGLE: generic_smp_call_function_single_interrupt(); |