[PATCH 0/3][RFC/RFT] Do not delay the MTRR synchronization for

From: Yu Chen
Date: Tue Oct 31 2017 - 05:55:36 EST


From: Chen Yu <yu.c.chen@xxxxxxxxx>

The original problem comes from a bug found on MacBookPro that,
the instructions run on each APs after resume are very slow, due
to the MTRR been scribbled by the BIOS thus it behaves like
running in 'uncached' mode.

Thus this patch tries to synchronize the MTRR as early as possible
by performing this action once the APs have been brought.

Test result shows a 6 seconds improvement on the bogus MacBookPro,
and 600 ms improvement on a Xeon Broadwell platform which has
88 cpus.

Chen Yu (3):
PM / sleep: Introduce a flag to identify the enable_nonboot_cpus stage
x86/mtrr: Add cpu id into the MTRR setting data structure
PM / sleep: Do not delay the synchronization of MTRR during resume

arch/x86/kernel/cpu/mtrr/main.c | 13 ++++++++++---
arch/x86/kernel/smpboot.c | 2 --
include/linux/cpu.h | 2 ++
kernel/cpu.c | 8 ++++++++
4 files changed, 20 insertions(+), 5 deletions(-)

--
2.13.5