summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/CpuDxe
diff options
context:
space:
mode:
authorJeff Fan <jeff.fan@intel.com>2016-07-01 15:52:40 +0800
committerJeff Fan <jeff.fan@intel.com>2016-07-20 11:13:25 +0800
commitafa7b97154b3497a364eeccc439a79ae9ed5e1a3 (patch)
tree885ffcf9cbd70881bdbf32e52fd9e4477ff3f7df /UefiCpuPkg/CpuDxe
parent81f560498bf1ca2bfa738741f63f9bc90a4db7d2 (diff)
downloadedk2-afa7b97154b3497a364eeccc439a79ae9ed5e1a3.tar.gz
edk2-afa7b97154b3497a364eeccc439a79ae9ed5e1a3.tar.bz2
edk2-afa7b97154b3497a364eeccc439a79ae9ed5e1a3.zip
UefiCpuPkg/CpuDxe: StartupAllAPs in parallel mode
SetMemoryAttributes() will sync BSP's MTRRs settings to all APs by StartupAllAPs service in serial mode. It may caused much performance impact if there are too much processors in system. This update is to invoke StartupAllAps in parallel mode. IA32 SDM does suggest to program MTRRs in parallel mode. Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com>
Diffstat (limited to 'UefiCpuPkg/CpuDxe')
-rw-r--r--UefiCpuPkg/CpuDxe/CpuDxe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/CpuDxe.c
index daf97bd4a6..78b2c88095 100644
--- a/UefiCpuPkg/CpuDxe/CpuDxe.c
+++ b/UefiCpuPkg/CpuDxe/CpuDxe.c
@@ -1,7 +1,7 @@
/** @file
CPU DXE Module.
- Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -422,7 +422,7 @@ CpuSetMemoryAttributes (
MpStatus = MpService->StartupAllAPs (
MpService, // This
SetMtrrsFromBuffer, // Procedure
- TRUE, // SingleThread
+ FALSE, // SingleThread
NULL, // WaitEvent
0, // TimeoutInMicrosecsond
&MtrrSettings, // ProcedureArgument