From 03da94558673e356f94e49c6261455983f56e322 Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Thu, 8 May 2008 15:20:38 +0200 Subject: [PATCH] --- yaml --- r: 97203 b: refs/heads/master c: 3401a61e16a5b852d4e353c8850c857105a67a9c h: refs/heads/master i: 97201: c1a1105b34d51bcfa3d169db4c670ab84a1aa709 97199: 56fcd68227e938c4351d48a7f236cb7f4da83bce v: v3 --- [refs] | 2 +- trunk/kernel/stop_machine.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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) {