diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-11-25 02:29:03 -0500 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-12-23 01:35:04 -0500 |
commit | ddf84433f411b612e935a6719ee395bb9dd2221f (patch) | |
tree | d9dab0c2b2b6aa73e1959149e21baf38031dc7ff /arch/arc/plat-arcfpga | |
parent | 413541dd66d51f791a0b169d9b9014e4f56be13c (diff) |
ARC: [SMP] cpumask not needed in IPI send path
The current IPI sending callstack needlessly involves cpumask.
arch_send_call_function_single_ipi(cpu) / smp_send_reschedule(cpu)
ipi_send_msg(cpumask_of(cpu)) --> [cpu to cpumask]
plat_smp_ops.ipi_send(callmap)
for_each_cpu(callmap) --> [cpuask to cpu]
do_plat_specific_ipi_PER_CPU
Given that current backends are not capable of 1:N IPIs, lets simplify
the interface for now, by keeping "a" cpu all along.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/plat-arcfpga')
-rw-r--r-- | arch/arc/plat-arcfpga/smp.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/arc/plat-arcfpga/smp.c b/arch/arc/plat-arcfpga/smp.c index 91b55349a5f8..5e4fe959665c 100644 --- a/arch/arc/plat-arcfpga/smp.c +++ b/arch/arc/plat-arcfpga/smp.c | |||
@@ -88,13 +88,9 @@ void iss_model_init_smp(unsigned int cpu) | |||
88 | smp_ipi_irq_setup(cpu, IDU_INTERRUPT_0 + cpu); | 88 | smp_ipi_irq_setup(cpu, IDU_INTERRUPT_0 + cpu); |
89 | } | 89 | } |
90 | 90 | ||
91 | static void iss_model_ipi_send(void *arg) | 91 | static void iss_model_ipi_send(int cpu) |
92 | { | 92 | { |
93 | struct cpumask *callmap = arg; | 93 | idu_irq_assert(cpu); |
94 | unsigned int cpu; | ||
95 | |||
96 | for_each_cpu(cpu, callmap) | ||
97 | idu_irq_assert(cpu); | ||
98 | } | 94 | } |
99 | 95 | ||
100 | static void iss_model_ipi_clear(int cpu, int irq) | 96 | static void iss_model_ipi_clear(int cpu, int irq) |