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 <liming....@intel.com>
Cc: Star Zeng <star.z...@intel.com>
Cc: Michael Kinney <michael.d.kin...@intel.com>

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

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

Reply via email to