diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-12-29 17:35:17 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-12-29 17:35:17 -0500 |
commit | ce47d974f71af26d00832e83a43ac79bec272d99 (patch) | |
tree | eb2434bd6f6afefcfb1ec4b03c0886f371b81067 /kernel | |
parent | 54b11e6d57a10aa9d0009efd93873e17bffd5d30 (diff) |
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')
-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) | |||
266 | generic_exec_single(cpu, data); | 266 | generic_exec_single(cpu, data); |
267 | } | 267 | } |
268 | 268 | ||
269 | /* FIXME: Shim for archs using old arch_send_call_function_ipi API. */ | ||
270 | #ifndef arch_send_call_function_ipi_mask | ||
271 | #define arch_send_call_function_ipi_mask(maskp) \ | ||
272 | arch_send_call_function_ipi(*(maskp)) | ||
273 | #endif | ||
274 | |||
269 | /** | 275 | /** |
270 | * smp_call_function_many(): Run a function on a set of other CPUs. | 276 | * smp_call_function_many(): Run a function on a set of other CPUs. |
271 | * @mask: The set of cpus to run on (only runs on online subset). | 277 | * @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, | |||
343 | smp_mb(); | 349 | smp_mb(); |
344 | 350 | ||
345 | /* Send a message to all CPUs in the map */ | 351 | /* Send a message to all CPUs in the map */ |
346 | arch_send_call_function_ipi(*to_cpumask(data->cpumask_bits)); | 352 | arch_send_call_function_ipi_mask(to_cpumask(data->cpumask_bits)); |
347 | 353 | ||
348 | /* optionally wait for the CPUs to complete */ | 354 | /* optionally wait for the CPUs to complete */ |
349 | if (wait) | 355 | if (wait) |