cpumask: arch_send_call_function_ipi_mask: alpha
We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). We also take the chance to wean the send_ipi_message off the obsolescent for_each_cpu_mask(): making it take a pointer seemed the most natural way to do this. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
e50a6f1953
commit
81065e4f2b
2 changed files with 9 additions and 8 deletions
|
@ -47,7 +47,8 @@ extern struct cpuinfo_alpha cpu_data[NR_CPUS];
|
|||
extern int smp_num_cpus;
|
||||
|
||||
extern void arch_send_call_function_single_ipi(int cpu);
|
||||
extern void arch_send_call_function_ipi(cpumask_t mask);
|
||||
extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
|
||||
#define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask
|
||||
|
||||
#else /* CONFIG_SMP */
|
||||
|
||||
|
|
|
@ -548,16 +548,16 @@ setup_profiling_timer(unsigned int multiplier)
|
|||
|
||||
|
||||
static void
|
||||
send_ipi_message(cpumask_t to_whom, enum ipi_message_type operation)
|
||||
send_ipi_message(const struct cpumask *to_whom, enum ipi_message_type operation)
|
||||
{
|
||||
int i;
|
||||
|
||||
mb();
|
||||
for_each_cpu_mask(i, to_whom)
|
||||
for_each_cpu(i, to_whom)
|
||||
set_bit(operation, &ipi_data[i].bits);
|
||||
|
||||
mb();
|
||||
for_each_cpu_mask(i, to_whom)
|
||||
for_each_cpu(i, to_whom)
|
||||
wripir(i);
|
||||
}
|
||||
|
||||
|
@ -624,7 +624,7 @@ smp_send_reschedule(int cpu)
|
|||
printk(KERN_WARNING
|
||||
"smp_send_reschedule: Sending IPI to self.\n");
|
||||
#endif
|
||||
send_ipi_message(cpumask_of_cpu(cpu), IPI_RESCHEDULE);
|
||||
send_ipi_message(cpumask_of(cpu), IPI_RESCHEDULE);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -636,17 +636,17 @@ smp_send_stop(void)
|
|||
if (hard_smp_processor_id() != boot_cpu_id)
|
||||
printk(KERN_WARNING "smp_send_stop: Not on boot cpu.\n");
|
||||
#endif
|
||||
send_ipi_message(to_whom, IPI_CPU_STOP);
|
||||
send_ipi_message(&to_whom, IPI_CPU_STOP);
|
||||
}
|
||||
|
||||
void arch_send_call_function_ipi(cpumask_t mask)
|
||||
void arch_send_call_function_ipi_mask(const struct cpumask *mask)
|
||||
{
|
||||
send_ipi_message(mask, IPI_CALL_FUNC);
|
||||
}
|
||||
|
||||
void arch_send_call_function_single_ipi(int cpu)
|
||||
{
|
||||
send_ipi_message(cpumask_of_cpu(cpu), IPI_CALL_FUNC_SINGLE);
|
||||
send_ipi_message(cpumask_of(cpu), IPI_CALL_FUNC_SINGLE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue