public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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


  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