public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Dandan Bi <dandan.bi@intel.com>
To: edk2-devel@lists.01.org
Cc: Liming Gao <liming.gao@intel.com>,
	Star Zeng <star.zeng@intel.com>,
	Michael Kinney <michael.d.kinney@intel.com>
Subject: [patch V2 0/9] Add new Perf macros
Date: Fri, 22 Jun 2018 16:56:14 +0800	[thread overview]
Message-ID: <20180622085623.154924-1-dandan.bi@intel.com> (raw)

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.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Michael Kinney <michael.d.kinney@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



             reply	other threads:[~2018-06-22  8:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-22  8:56 Dandan Bi [this message]
2018-06-22  8:56 ` [patch V2 1/9] MdeModulePkg: Add PERFORMANCE_MEASUREMENT_PROTOCOL Dandan Bi
2018-06-22  8:56 ` [patch V2 2/9] MdeModulePkg: Update Performance instances to use new protocol Dandan Bi
2018-06-22  8:56 ` [patch V2 3/9] MdePkg/PerformanceLib.h: Add new Perf macros Dandan Bi
2018-06-22  8:56 ` [patch V2 4/9] MdeModulePkg/ExtendedFirmwarePerf: Remove PerfId definitions Dandan Bi
2018-06-22  8:56 ` [patch V2 5/9] MdeModulePkg: Update performance library instances Dandan Bi
2018-06-22  8:56 ` [patch V2 6/9] ShellPkg/dp: Update dp tool to parse new Perf record Dandan Bi
2018-06-22  8:56 ` [patch V2 7/9] MdeModulePkg: Use new added Perf macros Dandan Bi
2018-06-22  8:56 ` [patch V2 8/9] SecurityPkg: " Dandan Bi
2018-07-03 23:29   ` Zhang, Chao B
2018-06-22  8:56 ` [patch V2 9/9] UefiCpuPkg: " Dandan Bi
2018-06-25  8:02 ` [patch V2 0/9] Add new " Gao, Liming

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=20180622085623.154924-1-dandan.bi@intel.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