summaryrefslogtreecommitdiffstats
path: root/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/smp.c')
-rw-r--r--kernel/smp.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index b76763189752..06d574e42c72 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -238,15 +238,22 @@ int smp_call_function_single(int cpu, smp_call_func_t func, void *info,
238EXPORT_SYMBOL(smp_call_function_single); 238EXPORT_SYMBOL(smp_call_function_single);
239 239
240/** 240/**
241 * __smp_call_function_single(): Run a function on a specific CPU 241 * smp_call_function_single_async(): Run an asynchronous function on a
242 * specific CPU.
242 * @cpu: The CPU to run on. 243 * @cpu: The CPU to run on.
243 * @csd: Pre-allocated and setup data structure 244 * @csd: Pre-allocated and setup data structure
244 * 245 *
245 * Like smp_call_function_single(), but allow caller to pass in a 246 * Like smp_call_function_single(), but the call is asynchonous and
246 * pre-allocated data structure. Useful for embedding @data inside 247 * can thus be done from contexts with disabled interrupts.
247 * other structures, for instance. 248 *
249 * The caller passes his own pre-allocated data structure
250 * (ie: embedded in an object) and is responsible for synchronizing it
251 * such that the IPIs performed on the @csd are strictly serialized.
252 *
253 * NOTE: Be careful, there is unfortunately no current debugging facility to
254 * validate the correctness of this serialization.
248 */ 255 */
249int __smp_call_function_single(int cpu, struct call_single_data *csd) 256int smp_call_function_single_async(int cpu, struct call_single_data *csd)
250{ 257{
251 int err = 0; 258 int err = 0;
252 259
@@ -256,7 +263,7 @@ int __smp_call_function_single(int cpu, struct call_single_data *csd)
256 263
257 return err; 264 return err;
258} 265}
259EXPORT_SYMBOL_GPL(__smp_call_function_single); 266EXPORT_SYMBOL_GPL(smp_call_function_single_async);
260 267
261/* 268/*
262 * smp_call_function_any - Run a function on any of the given cpus 269 * smp_call_function_any - Run a function on any of the given cpus