Skip to content

Commit

Permalink
cpumask: arch_send_call_function_ipi_mask: core
Browse files Browse the repository at this point in the history
Impact: new API to reduce stack usage

We're weaning the core code off handing cpumask's around on-stack.
This introduces arch_send_call_function_ipi_mask().

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  • Loading branch information
Rusty Russell committed Dec 29, 2008
1 parent 54b11e6 commit ce47d97
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,12 @@ void __smp_call_function_single(int cpu, struct call_single_data *data)
generic_exec_single(cpu, data);
}

/* FIXME: Shim for archs using old arch_send_call_function_ipi API. */
#ifndef arch_send_call_function_ipi_mask
#define arch_send_call_function_ipi_mask(maskp) \
arch_send_call_function_ipi(*(maskp))
#endif

/**
* smp_call_function_many(): Run a function on a set of other CPUs.
* @mask: The set of cpus to run on (only runs on online subset).
Expand Down Expand Up @@ -343,7 +349,7 @@ void smp_call_function_many(const struct cpumask *mask,
smp_mb();

/* Send a message to all CPUs in the map */
arch_send_call_function_ipi(*to_cpumask(data->cpumask_bits));
arch_send_call_function_ipi_mask(to_cpumask(data->cpumask_bits));

/* optionally wait for the CPUs to complete */
if (wait)
Expand Down

0 comments on commit ce47d97

Please sign in to comment.