summaryrefslogtreecommitdiffstats
path: root/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/smp.c')
-rw-r--r--kernel/smp.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index 220ad142f5dd..616d4d114847 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -487,13 +487,11 @@ EXPORT_SYMBOL(smp_call_function_many);
487 * You must not call this function with disabled interrupts or from a 487 * You must not call this function with disabled interrupts or from a
488 * hardware interrupt handler or from a bottom half handler. 488 * hardware interrupt handler or from a bottom half handler.
489 */ 489 */
490int smp_call_function(smp_call_func_t func, void *info, int wait) 490void smp_call_function(smp_call_func_t func, void *info, int wait)
491{ 491{
492 preempt_disable(); 492 preempt_disable();
493 smp_call_function_many(cpu_online_mask, func, info, wait); 493 smp_call_function_many(cpu_online_mask, func, info, wait);
494 preempt_enable(); 494 preempt_enable();
495
496 return 0;
497} 495}
498EXPORT_SYMBOL(smp_call_function); 496EXPORT_SYMBOL(smp_call_function);
499 497
@@ -594,18 +592,16 @@ void __init smp_init(void)
594 * early_boot_irqs_disabled is set. Use local_irq_save/restore() instead 592 * early_boot_irqs_disabled is set. Use local_irq_save/restore() instead
595 * of local_irq_disable/enable(). 593 * of local_irq_disable/enable().
596 */ 594 */
597int on_each_cpu(void (*func) (void *info), void *info, int wait) 595void on_each_cpu(void (*func) (void *info), void *info, int wait)
598{ 596{
599 unsigned long flags; 597 unsigned long flags;
600 int ret = 0;
601 598
602 preempt_disable(); 599 preempt_disable();
603 ret = smp_call_function(func, info, wait); 600 smp_call_function(func, info, wait);
604 local_irq_save(flags); 601 local_irq_save(flags);
605 func(info); 602 func(info);
606 local_irq_restore(flags); 603 local_irq_restore(flags);
607 preempt_enable(); 604 preempt_enable();
608 return ret;
609} 605}
610EXPORT_SYMBOL(on_each_cpu); 606EXPORT_SYMBOL(on_each_cpu);
611 607