Current logic always waiting for a specific value to collect all APs
count. This logic may caused some platforms cost too much time to
wait for time out.

This patch series add new logic to collect APs count. It adds new variable
NumApsExecuting to detect whether all APs have finished initialization.
Each AP let NumApsExecuting++ when begin to initialize itself and let
NumApsExecuting-- when it finish the initialization. BSP base on whether
NumApsExecuting == 0 to finished the collect AP process. 

Because current code already use NumApsExecuting variable, so add another
patch to change the variable name for the current code for better 
understanding.


Eric Dong (2):
  UefiCpuPkg/MpInitLib: Change AP Index variable name.
  UefiCpuPkg/MpInitLib: Enhance waiting for AP initialization logic.

 UefiCpuPkg/Library/MpInitLib/Ia32/MpEqu.inc    |  3 ++-
 UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm | 10 ++++++++--
 UefiCpuPkg/Library/MpInitLib/MpLib.c           | 24 ++++++++++++++++--------
 UefiCpuPkg/Library/MpInitLib/MpLib.h           |  3 ++-
 UefiCpuPkg/Library/MpInitLib/X64/MpEqu.inc     |  5 +++--
 UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm  | 10 ++++++++--
 6 files changed, 39 insertions(+), 16 deletions(-)

-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to