diff --git a/[refs] b/[refs] index f54e9c3dd8fe..cc88758105f4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4d2e7d0d77e4e1e8a21cc990c607985fdba20e66 +refs/heads/master: 3401a61e16a5b852d4e353c8850c857105a67a9c diff --git a/trunk/kernel/stop_machine.c b/trunk/kernel/stop_machine.c index 0101aeef7ed7..b7350bbfb076 100644 --- a/trunk/kernel/stop_machine.c +++ b/trunk/kernel/stop_machine.c @@ -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) {