diff options
author | Glauber Costa <gcosta@redhat.com> | 2008-03-03 14:13:13 -0300 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 17:40:57 +0200 |
commit | e90009bcc1137c51d677262417f16c00ad2ce9a9 (patch) | |
tree | 77aecc911a4ee119e2fffeca7ec60c13f5566f0c /arch/x86/kernel/smpboot_64.c | |
parent | 91718e8d13c23bfe0aa6fa6b730c5c33ee9771bf (diff) | |
download | op-kernel-dev-e90009bcc1137c51d677262417f16c00ad2ce9a9.zip op-kernel-dev-e90009bcc1137c51d677262417f16c00ad2ce9a9.tar.gz |
x86: use wait_for_init_deassert in x86_64
wraps the busy loop for wait_for_init_deasserted() in a function,
so smp_callin in x86_64 looks like more i386
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smpboot_64.c')
-rw-r--r-- | arch/x86/kernel/smpboot_64.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c index 9f4935e..4f6d976 100644 --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c @@ -100,6 +100,13 @@ static void __cpuinit smp_store_cpu_info(int id) print_cpu_info(c); } +static inline void wait_for_init_deassert(atomic_t *deassert) +{ + while (!atomic_read(deassert)) + cpu_relax(); + return; +} + static atomic_t init_deasserted __cpuinitdata; /* @@ -117,8 +124,7 @@ void __cpuinit smp_callin(void) * our local APIC. We have to wait for the IPI or we'll * lock up on an APIC access. */ - while (!atomic_read(&init_deasserted)) - cpu_relax(); + wait_for_init_deassert(&init_deasserted); /* * (This works even if the APIC is not enabled.) |