From: Bret Barkelew <bret.barke...@microsoft.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1888

Add performance code for PeiDisaptcher function and Image function.

Cc: Jian J Wang <jian.j.w...@intel.com>
Cc: Hao A Wu <hao.a...@intel.com>
Cc: Ray Ni <ray...@intel.com>
Cc: Star Zeng <star.z...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Signed-off-by: Zhichao Gao <zhichao....@intel.com>
---
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c 
b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index ba2fd0cae1..0caffe653b 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -983,6 +983,8 @@ PeiDispatcher (
   EFI_FV_FILE_INFO                    FvFileInfo;
   PEI_CORE_FV_HANDLE                  *CoreFvHandle;
 
+  PERF_FUNCTION_BEGIN ();
+
   PeiServices = (CONST EFI_PEI_SERVICES **) &Private->Ps;
   PeimEntryPoint = NULL;
   PeimFileHandle = NULL;
@@ -1004,6 +1006,7 @@ PeiDispatcher (
           Private->CurrentFileHandle   = PeimFileHandle;
           Private->CurrentPeimFvCount  = Index1;
           Private->CurrentPeimCount    = Index2;
+          PERF_LOAD_IMAGE_BEGIN (NULL);
           Status = PeiLoadImage (
                     (CONST EFI_PEI_SERVICES **) &Private->Ps,
                     PeimFileHandle,
@@ -1012,6 +1015,7 @@ PeiDispatcher (
                     &AuthenticationState
                     );
           if (Status == EFI_SUCCESS) {
+            PERF_LOAD_IMAGE_END (PeimFileHandle);
             //
             // PEIM_STATE_REGISTER_FOR_SHADOW move to PEIM_STATE_DONE
             //
@@ -1118,6 +1122,7 @@ PeiDispatcher (
               //
               // For PEIM driver, Load its entry point
               //
+              PERF_LOAD_IMAGE_BEGIN (NULL);
               Status = PeiLoadImage (
                          PeiServices,
                          PeimFileHandle,
@@ -1126,6 +1131,7 @@ PeiDispatcher (
                          &AuthenticationState
                          );
               if (Status == EFI_SUCCESS) {
+                PERF_LOAD_IMAGE_END (PeimFileHandle);
                 //
                 // The PEIM has its dependencies satisfied, and its entry point
                 // has been found, so invoke it.
@@ -1197,6 +1203,7 @@ PeiDispatcher (
                 //
                 // Load PEIM into Memory for Register for shadow PEIM.
                 //
+                PERF_LOAD_IMAGE_BEGIN (NULL);
                 Status = PeiLoadImage (
                            PeiServices,
                            PeimFileHandle,
@@ -1205,6 +1212,7 @@ PeiDispatcher (
                            &AuthenticationState
                            );
                 if (Status == EFI_SUCCESS) {
+                  PERF_LOAD_IMAGE_END (PeimFileHandle);
                   PeimEntryPoint = (EFI_PEIM_ENTRY_POINT2)(UINTN)EntryPoint;
                 }
               }
@@ -1252,6 +1260,8 @@ PeiDispatcher (
     //
   } while (Private->PeimNeedingDispatch && Private->PeimDispatchOnThisPass);
 
+  PERF_FUNCTION_END ();
+
 }
 
 /**
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42069): https://edk2.groups.io/g/devel/message/42069
Mute This Topic: https://groups.io/mt/32001827/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to