diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-07-10 08:17:14 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-07-10 08:17:14 +0200 |
| commit | 9e4144abf8a30ae221311368bbb10690ebdb4b76 (patch) | |
| tree | 032289d5b7d87976675c1a1a32d512a44d234fa2 /kernel/stop_machine.c | |
| parent | e17ba73b0ee6c0f24393c48b455e0d8db761782c (diff) | |
| parent | 6329d3021bcfa9038621e6e917d98929421d8ec8 (diff) | |
Merge branch 'linus' into core/printk
Conflicts:
kernel/printk.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/stop_machine.c')
| -rw-r--r-- | kernel/stop_machine.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c index 0101aeef7ed..b7350bbfb07 100644 --- a/kernel/stop_machine.c +++ b/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) { |
