Merge branch 'linus' into x86/i8259
[sfrench/cifs-2.6.git] / kernel / stop_machine.c
index dc25b0baaa96944df5a61cc3cfef356f7f0c3bbd..b7350bbfb076293dd6d13d7ba060b3aba1f673a9 100644 (file)
@@ -62,8 +62,7 @@ static int stopmachine(void *cpu)
                 * help our sisters onto their CPUs. */
                if (!prepared && !irqs_disabled)
                        yield();
-               else
-                       cpu_relax();
+               cpu_relax();
        }
 
        /* Ack: we are exiting. */
@@ -106,8 +105,10 @@ static int stop_machine(void)
        }
 
        /* Wait for them all to come to life. */
-       while (atomic_read(&stopmachine_thread_ack) != stopmachine_num_threads)
+       while (atomic_read(&stopmachine_thread_ack) != stopmachine_num_threads) {
                yield();
+               cpu_relax();
+       }
 
        /* If some failed, kill them all. */
        if (ret < 0) {
@@ -134,8 +135,7 @@ static void restart_machine(void)
        preempt_enable_no_resched();
 }
 
-struct stop_machine_data
-{
+struct stop_machine_data {
        int (*fn)(void *);
        void *data;
        struct completion done;