From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.100; helo=mga07.intel.com; envelope-from=eric.dong@intel.com; receiver=edk2-devel@lists.01.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C1AB72034CF9C for ; Mon, 23 Oct 2017 00:18:59 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP; 23 Oct 2017 00:22:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,421,1503385200"; d="scan'208";a="1028152285" Received: from ydong10-win10.ccr.corp.intel.com ([10.239.158.64]) by orsmga003.jf.intel.com with ESMTP; 23 Oct 2017 00:22:40 -0700 From: Eric Dong To: edk2-devel@lists.01.org Date: Mon, 23 Oct 2017 15:22:36 +0800 Message-Id: <1508743358-3640-1-git-send-email-eric.dong@intel.com> X-Mailer: git-send-email 2.7.0.windows.1 Subject: [Patch 0/2] Enhance collect AP Count logic X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Oct 2017 07:18:59 -0000 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