402
403
404
405
406
407
408int smp_call_function(void (*func)(void *), void *info, int wait)
409{
410 int ret;
411
412 preempt_disable();
413 ret = smp_call_function_mask(cpu_online_map, func, info, wait);
414 preempt_enable();
415 return ret;
416}
417EXPORT_SYMBOL(smp_call_function);
418
419void ipi_call_lock(void)
420{
421 spin_lock(&call_function_lock);
422}
423
424void ipi_call_unlock(void)
425{
426 spin_unlock(&call_function_lock);
427}
428
429void ipi_call_lock_irq(void)
430{
431 spin_lock_irq(&call_function_lock);
432}
433
434void ipi_call_unlock_irq(void)
435{
436 spin_unlock_irq(&call_function_lock);
437}