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.24; helo=mga09.intel.com; envelope-from=dandan.bi@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (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 EC10C210C4DC7 for ; Fri, 22 Jun 2018 01:56:33 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jun 2018 01:56:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,256,1526367600"; d="scan'208";a="65390287" Received: from shwdeopenpsi114.ccr.corp.intel.com ([10.239.157.135]) by fmsmga004.fm.intel.com with ESMTP; 22 Jun 2018 01:56:32 -0700 From: Dandan Bi To: edk2-devel@lists.01.org Cc: Liming Gao , Star Zeng , Michael Kinney Date: Fri, 22 Jun 2018 16:56:14 +0800 Message-Id: <20180622085623.154924-1-dandan.bi@intel.com> X-Mailer: git-send-email 2.14.3.windows.1 Subject: [patch V2 0/9] Add new Perf macros X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jun 2018 08:56:34 -0000 Add a group of new Perf macros in performance library for performance logging. Which will simplify the usage model of performance measurement. And also introduce new control functionality to disable different perf types. Patch 1-2: Add a new internal protocol PERFORMANCE_MEASUREMENT_PROTOCOL, which can be used to log performance info. Patch 3-5: Add new Perf macros and update library instances in MdeModulePkg to for the implementation of new perf macros. Patch 6: Enhance the logic in DP tool since some new record and control functionality are introduced by new Perf macros. Patch 7-9: update the consumer codes in core to use the new Perf macros. Unit test: 1.DP tool can dump the performance data saved in the ACPI FPDT when set PcdEdkiiFpdtStringRecordEnableOnly to TRUE/FALSE. 2.Can disable specific knids of Perf entry through setting PcdPerformanceLibraryPropertyMask. V2: Patch 5: Share the common logics of creating FPDT record for new added Perf macros and existing Perf macros. Cc: Liming Gao Cc: Star Zeng Cc: Michael Kinney Dandan Bi (9): MdeModulePkg: Add PERFORMANCE_MEASUREMENT_PROTOCOL MdeModulePkg: Update Performance instances to use new protocol MdePkg/PerformanceLib.h: Add new Perf macros MdeModulePkg/ExtendedFirmwarePerf: Remove PerfId definitions MdeModulePkg: Update performance library instances ShellPkg/dp: Update dp tool to parse new Perf record MdeModulePkg: Use new added Perf macros SecurityPkg: Use new added Perf macros UefiCpuPkg: Use new added Perf macros MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c | 7 + MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 8 +- MdeModulePkg/Core/Dxe/Hand/DriverSupport.c | 8 +- MdeModulePkg/Core/Dxe/Image/Image.c | 30 +- MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 8 +- MdeModulePkg/Core/Pei/PeiMain/PeiMain.c | 17 +- MdeModulePkg/Core/PiSmmCore/Dispatcher.c | 15 +- MdeModulePkg/Core/PiSmmCore/PiSmmCore.c | 4 +- .../Include/Guid/ExtendedFirmwarePerformance.h | 31 - MdeModulePkg/Include/Guid/PerformanceMeasurement.h | 91 ++ .../DxeCorePerformanceLib/DxeCorePerformanceLib.c | 1183 +++++++++++--------- .../DxeCorePerformanceLib.inf | 7 +- .../DxeCorePerformanceLibInternal.h | 217 +--- .../Library/DxePerformanceLib/DxePerformanceLib.c | 193 ++-- .../DxePerformanceLib/DxePerformanceLib.inf | 5 +- .../Library/PeiPerformanceLib/PeiPerformanceLib.c | 632 +++++++---- .../SmmCorePerformanceLib/SmmCorePerformanceLib.c | 960 ++++++++-------- .../SmmCorePerformanceLib.inf | 7 +- .../SmmCorePerformanceLibInternal.h | 215 +--- .../Library/SmmPerformanceLib/SmmPerformanceLib.c | 198 ++-- .../SmmPerformanceLib/SmmPerformanceLib.inf | 5 +- MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 2 +- .../Library/UefiBootManagerLib/BmConsole.c | 9 +- MdeModulePkg/MdeModulePkg.dec | 3 + MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 21 +- MdePkg/Include/Library/PerformanceLib.h | 408 ++++++- .../BasePerformanceLibNull/PerformanceLib.c | 57 +- MdePkg/MdePkg.dec | 9 +- MdePkg/MdePkg.uni | 6 + .../DxeRsa2048Sha256GuidedSectionExtractLib.c | 16 +- .../PeiRsa2048Sha256GuidedSectionExtractLib.c | 16 +- ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c | 75 +- ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h | 1 + .../DynamicCommand/DpDynamicCommand/DpInternal.h | 14 + ShellPkg/DynamicCommand/DpDynamicCommand/DpTrace.c | 4 +- .../DynamicCommand/DpDynamicCommand/DpUtilities.c | 31 + UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 16 +- 37 files changed, 2600 insertions(+), 1929 deletions(-) create mode 100644 MdeModulePkg/Include/Guid/PerformanceMeasurement.h -- 2.14.3.windows.1