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>
This commit is contained in:
parent
91718e8d13
commit
e90009bcc1
1 changed files with 8 additions and 2 deletions
|
@ -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.)
|
||||
|
|
Reference in a new issue