Kaynağa Gözat

time: simplify smp_call_function_single() call sequence

smp_call_function_single() now knows how to call the function on the
current cpu.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Avi Kivity 17 yıl önce
ebeveyn
işleme
bf020cb7b3
1 değiştirilmiş dosya ile 4 ekleme ve 13 silme
  1. 4 13
      kernel/time/tick-broadcast.c

+ 4 - 13
kernel/time/tick-broadcast.c

@@ -274,21 +274,12 @@ out:
  */
  */
 void tick_broadcast_on_off(unsigned long reason, int *oncpu)
 void tick_broadcast_on_off(unsigned long reason, int *oncpu)
 {
 {
-	int cpu = get_cpu();
-
-	if (!cpu_isset(*oncpu, cpu_online_map)) {
+	if (!cpu_isset(*oncpu, cpu_online_map))
 		printk(KERN_ERR "tick-braodcast: ignoring broadcast for "
 		printk(KERN_ERR "tick-braodcast: ignoring broadcast for "
 		       "offline CPU #%d\n", *oncpu);
 		       "offline CPU #%d\n", *oncpu);
-	} else {
-
-		if (cpu == *oncpu)
-			tick_do_broadcast_on_off(&reason);
-		else
-			smp_call_function_single(*oncpu,
-						 tick_do_broadcast_on_off,
-						 &reason, 1, 1);
-	}
-	put_cpu();
+	else
+		smp_call_function_single(*oncpu, tick_do_broadcast_on_off,
+					 &reason, 1, 1);
 }
 }
 
 
 /*
 /*