> -----Original Message----- > From: Gao, Zhichao > Sent: Monday, June 10, 2019 3:29 PM > To: devel@edk2.groups.io > Cc: Bret Barkelew; Wang, Jian J; Wu, Hao A; Ni, Ray; Zeng, Star; Gao, Liming > Subject: [PATCH 2/6] MdeModule/PeiMain: Add performance code > > 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);
One question, what is the reason for the 'PERF_LOAD_IMAGE_END' macro being only added when PeiLoadImage() returns with no error? Best Regards, Hao Wu > // > // 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 (#42427): https://edk2.groups.io/g/devel/message/42427 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] -=-=-=-=-=-=-=-=-=-=-=-