Message ID | 1411633925-9018-3-git-send-email-tianyu.lan@intel.com (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
diff --git a/kernel/cpu.c b/kernel/cpu.c index 24c4889..30ffdd9 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -592,13 +592,10 @@ static int async_enable_nonboot_cpus(void *data) { int cpu; - arch_enable_nonboot_cpus_begin(); - for_each_cpu(cpu, frozen_cpus) { _cpu_up_for_pm(cpu); } - arch_enable_nonboot_cpus_end(); cpumask_clear(frozen_cpus); cpu_maps_update_done(); return 0;
SDM Vol 3a section titled "MTRR considerations in MP systems" specifies the need for synchronizing the logical cpu's while initializing/updating MTRR. Commit d0af9eed5a(x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init) delay the MTRR/PAT init for APs till all the logical cpu's come online and the rendezvous process at the end of AP's bringup, will initialize the MTRR/PAT for all AP's during boot and resume. Currently, APs enabling are paralleled with resume devices during system resume and the AP will be assigned with task before all APs' bringup. MTRR/PAT should be initialized before running tasks. So this patch is to remove set_mtrr_aps_delayed_init() for system resume and do the MTRR/PAT init when the AP comes online just like dynamic single cpu online. Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> --- kernel/cpu.c | 3 --- 1 file changed, 3 deletions(-)