[edk2-devel] [PATCH 2/6] MdeModule/PeiMain: Add performance code

Gao, Zhichao zhichao.gao at intel.com
Mon Jun 10 07:28:51 UTC 2019


From: Bret Barkelew <Bret.Barkelew at 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.wang at intel.com>
Cc: Hao A Wu <hao.a.wu at intel.com>
Cc: Ray Ni <ray.ni at intel.com>
Cc: Star Zeng <star.zeng at intel.com>
Cc: Liming Gao <liming.gao at intel.com>
Signed-off-by: Zhichao Gao <zhichao.gao at 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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list