diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-12-30 09:05:17 +1030 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-12-30 09:05:17 +1030 |
commit | ce47d974f71af26d00832e83a43ac79bec272d99 (patch) | |
tree | eb2434bd6f6afefcfb1ec4b03c0886f371b81067 /kernel/smp.c | |
parent | 54b11e6d57a10aa9d0009efd93873e17bffd5d30 (diff) | |
download | lwn-ce47d974f71af26d00832e83a43ac79bec272d99.tar.gz lwn-ce47d974f71af26d00832e83a43ac79bec272d99.zip |
cpumask: arch_send_call_function_ipi_mask: core
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>
Diffstat (limited to 'kernel/smp.c')
-rw-r--r-- | kernel/smp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/smp.c b/kernel/smp.c index 9f0eafed1399..172b18268909 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -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). @@ -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) |