From afa7b97154b3497a364eeccc439a79ae9ed5e1a3 Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Fri, 1 Jul 2016 15:52:40 +0800 Subject: [PATCH] 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 Cc: Feng Tian Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan Reviewed-by: Feng Tian --- UefiCpuPkg/CpuDxe/CpuDxe.c | 4 ++-- 1 file 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.
+ Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.
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