Skip to content

Commit

Permalink
cpumask: arch_send_call_function_ipi_mask: alpha
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Rusty Russell committed Sep 24, 2009
1 parent e50a6f1 commit 81065e4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
3 changes: 2 additions & 1 deletion arch/alpha/include/asm/smp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

Expand Down
14 changes: 7 additions & 7 deletions arch/alpha/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 81065e4

Please sign in to comment.