From: "Guo Dong" <guo.dong@intel.com>
To: "Liu, Zhiguang" <zhiguang.liu@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Ni, Ray" <ray.ni@intel.com>,
"Ma, Maurice" <maurice.ma@intel.com>,
"You, Benjamin" <benjamin.you@intel.com>
Subject: Re: [PATCH 2/2] UefiPayloadPkg: Add performance measurement feature
Date: Mon, 29 Nov 2021 16:51:39 +0000 [thread overview]
Message-ID: <BYAPR11MB3622E4D89F75AFF0C6E7B77E9E669@BYAPR11MB3622.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211124091509.207-2-zhiguang.liu@intel.com>
Reviewed-by: Guo Dong <guo.dong@intel.com>
-----Original Message-----
From: Liu, Zhiguang <zhiguang.liu@intel.com>
Sent: Wednesday, November 24, 2021 2:15 AM
To: devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Ma, Maurice <maurice.ma@intel.com>; You, Benjamin <benjamin.you@intel.com>
Subject: [PATCH 2/2] UefiPayloadPkg: Add performance measurement feature
Add a Macro to enable performance measurement feature.
For any platform that uses UniversalPayload, we assume it supports BaseCpuTimerLib and use it to align timerlib to get more accurate performance result.
Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Benjamin You <benjamin.you@intel.com>
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
---
UefiPayloadPkg/UefiPayloadPkg.dsc | 34 +++++++++++++++++++++++++++++++++-
UefiPayloadPkg/UefiPayloadPkg.fdf | 6 ++++++
2 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
index 0df5f827c9..a1ef711f24 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -109,6 +109,7 @@
DEFINE RTC_TARGET_REGISTER = 0x71 DEFINE SERIAL_DRIVER_ENABLE = TRUE+ DEFINE PERFORMANCE_MEASUREMENT_ENABLE = FALSE [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES@@ -216,7 +217,11 @@
# # Platform #+!if $(UNIVERSAL_PAYLOAD) == TRUE+ TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf+!else TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf+!endif ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf@@ -277,6 +282,9 @@
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf+!endif [LibraryClasses.common.DXE_DRIVER] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf@@ -288,17 +296,26 @@
!endif CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf+!endif [LibraryClasses.common.DXE_RUNTIME_DRIVER] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf+!endif [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf+!endif [LibraryClasses.common.SMM_CORE] !if $(SMM_SUPPORT) == TRUE@@ -309,6 +326,9 @@
SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf+!endif !endif [LibraryClasses.common.DXE_SMM_DRIVER]@@ -324,6 +344,9 @@
SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf+!endif !endif !if $(VARIABLE_SUPPORT) == "SPI" SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf@@ -366,6 +389,10 @@
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2 !endif gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000+ gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly| TRUE+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1+!endif [PcdsPatchableInModule.X64] gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)@@ -633,7 +660,9 @@
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf !endif UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf-+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf+!endif # # SMM Support #@@ -646,6 +675,9 @@
UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf+!endif !endif !if $(VARIABLE_SUPPORT) == "EMU"diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf
index 2f5cb17f62..8e7b34e783 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -115,6 +115,9 @@ INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf !endif INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf+!endif # # SMM Support@@ -128,6 +131,9 @@ INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf INF UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf+!if $(PERFORMANCE_MEASUREMENT_ENABLE)+ INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf+!endif !endif !if $(VARIABLE_SUPPORT) == "EMU"--
2.32.0.windows.2
next prev parent reply other threads:[~2021-11-29 16:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-24 9:15 [PATCH 1/2] UefiPayloadPkg: Add missing Guid gUefiAcpiBoardInfoGuid Zhiguang Liu
2021-11-24 9:15 ` [PATCH 2/2] UefiPayloadPkg: Add performance measurement feature Zhiguang Liu
2021-11-29 16:51 ` Guo Dong [this message]
2021-11-29 16:51 ` [edk2-devel] [PATCH 1/2] UefiPayloadPkg: Add missing Guid gUefiAcpiBoardInfoGuid Guo Dong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BYAPR11MB3622E4D89F75AFF0C6E7B77E9E669@BYAPR11MB3622.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox