diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index c4f33b2e77d6..11015fd1abbc 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -816,6 +816,13 @@ do_rest: | |||
816 | if (cpumask_test_cpu(cpu, cpu_callin_mask)) | 816 | if (cpumask_test_cpu(cpu, cpu_callin_mask)) |
817 | break; /* It has booted */ | 817 | break; /* It has booted */ |
818 | udelay(100); | 818 | udelay(100); |
819 | /* | ||
820 | * Allow other tasks to run while we wait for the | ||
821 | * AP to come online. This also gives a chance | ||
822 | * for the MTRR work(triggered by the AP coming online) | ||
823 | * to be completed in the stop machine context. | ||
824 | */ | ||
825 | schedule(); | ||
819 | } | 826 | } |
820 | 827 | ||
821 | if (cpumask_test_cpu(cpu, cpu_callin_mask)) | 828 | if (cpumask_test_cpu(cpu, cpu_callin_mask)) |