From: Bi, Dandan Date: Fri, 22 Jun 2018 08:56:21 +0000 (+0800) Subject: MdeModulePkg: Use new added Perf macros X-Git-Tag: edk2-stable201903~1534 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=67e9ab84ef042bd59c4297fdad7f6aece6b7bbca MdeModulePkg: Use new added Perf macros Replace old Perf macros with the new added ones. Cc: Liming Gao Cc: Star Zeng Cc: Eric Dong Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi Reviewed-by: Liming Gao --- diff --git a/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c index 088cd81063..4c6ca761a6 100644 --- a/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c +++ b/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c @@ -419,6 +419,7 @@ CoreDispatcher ( BOOLEAN ReadyToRun; EFI_EVENT DxeDispatchEvent; + PERF_FUNCTION_BEGIN (); if (gDispatcherRunning) { // @@ -584,6 +585,8 @@ CoreDispatcher ( gDispatcherRunning = FALSE; + PERF_FUNCTION_END (); + return ReturnStatus; } @@ -1437,6 +1440,8 @@ CoreInitializeDispatcher ( VOID ) { + PERF_FUNCTION_BEGIN (); + mFwVolEvent = EfiCreateProtocolNotifyEvent ( &gEfiFirmwareVolume2ProtocolGuid, TPL_CALLBACK, @@ -1444,6 +1449,8 @@ CoreInitializeDispatcher ( NULL, &mFwVolEventRegistration ); + + PERF_FUNCTION_END (); } // diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c index 07c7403462..3f753738a2 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c @@ -301,8 +301,8 @@ DxeMain ( // Call constructor for all libraries // ProcessLibraryConstructorList (gDxeCoreImageHandle, gDxeCoreST); - PERF_END (NULL,"PEI", NULL, 0) ; - PERF_START (NULL,"DXE", NULL, 0) ; + PERF_CROSSMODULE_END ("PEI"); + PERF_CROSSMODULE_BEGIN ("DXE"); // // Report DXE Core image information to the PE/COFF Extra Action Library @@ -499,16 +499,12 @@ DxeMain ( // // Initialize the DXE Dispatcher // - PERF_START (NULL,"CoreInitializeDispatcher", "DxeMain", 0) ; CoreInitializeDispatcher (); - PERF_END (NULL,"CoreInitializeDispatcher", "DxeMain", 0) ; // // Invoke the DXE Dispatcher // - PERF_START (NULL, "CoreDispatcher", "DxeMain", 0); CoreDispatcher (); - PERF_END (NULL, "CoreDispatcher", "DxeMain", 0); // // Display Architectural protocols that were not loaded if this is DEBUG build diff --git a/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c b/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c index 33dd0bd0b7..ab3cc0c07e 100644 --- a/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c +++ b/MdeModulePkg/Core/Dxe/Hand/DriverSupport.c @@ -627,13 +627,13 @@ CoreConnectSingleController ( for (Index = 0; (Index < NumberOfSortedDriverBindingProtocols) && !DriverFound; Index++) { if (SortedDriverBindingProtocols[Index] != NULL) { DriverBinding = SortedDriverBindingProtocols[Index]; - PERF_START (DriverBinding->DriverBindingHandle, "DB:Support:", NULL, 0); + PERF_DRIVER_BINDING_SUPPORT_BEGIN (DriverBinding->DriverBindingHandle, ControllerHandle); Status = DriverBinding->Supported( DriverBinding, ControllerHandle, RemainingDevicePath ); - PERF_END (DriverBinding->DriverBindingHandle, "DB:Support:", NULL, 0); + PERF_DRIVER_BINDING_SUPPORT_END (DriverBinding->DriverBindingHandle, ControllerHandle); if (!EFI_ERROR (Status)) { SortedDriverBindingProtocols[Index] = NULL; DriverFound = TRUE; @@ -642,13 +642,13 @@ CoreConnectSingleController ( // A driver was found that supports ControllerHandle, so attempt to start the driver // on ControllerHandle. // - PERF_START (DriverBinding->DriverBindingHandle, "DB:Start:", NULL, 0); + PERF_DRIVER_BINDING_START_BEGIN (DriverBinding->DriverBindingHandle, ControllerHandle); Status = DriverBinding->Start ( DriverBinding, ControllerHandle, RemainingDevicePath ); - PERF_END (DriverBinding->DriverBindingHandle, "DB:Start:", NULL, 0); + PERF_DRIVER_BINDING_START_END (DriverBinding->DriverBindingHandle, ControllerHandle); if (!EFI_ERROR (Status)) { // diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c b/MdeModulePkg/Core/Dxe/Image/Image.c index c49ddfcc81..adeb4bf313 100644 --- a/MdeModulePkg/Core/Dxe/Image/Image.c +++ b/MdeModulePkg/Core/Dxe/Image/Image.c @@ -1436,13 +1436,9 @@ CoreLoadImage ( ) { EFI_STATUS Status; - UINT64 Tick; EFI_HANDLE Handle; - Tick = 0; - PERF_CODE ( - Tick = GetPerformanceCounter (); - ); + PERF_LOAD_IMAGE_BEGIN (NULL); Status = CoreLoadImageCommon ( BootPolicy, @@ -1465,8 +1461,7 @@ CoreLoadImage ( Handle = *ImageHandle; } - PERF_START (Handle, "LoadImage:", NULL, Tick); - PERF_END (Handle, "LoadImage:", NULL, 0); + PERF_LOAD_IMAGE_END (Handle); return Status; } @@ -1526,13 +1521,9 @@ CoreLoadImageEx ( ) { EFI_STATUS Status; - UINT64 Tick; EFI_HANDLE Handle; - Tick = 0; - PERF_CODE ( - Tick = GetPerformanceCounter (); - ); + PERF_LOAD_IMAGE_BEGIN (NULL); Status = CoreLoadImageCommon ( TRUE, @@ -1555,8 +1546,7 @@ CoreLoadImageEx ( Handle = *ImageHandle; } - PERF_START (Handle, "LoadImage:", NULL, Tick); - PERF_END (Handle, "LoadImage:", NULL, 0); + PERF_LOAD_IMAGE_END (Handle); return Status; } @@ -1594,10 +1584,8 @@ CoreStartImage ( LOADED_IMAGE_PRIVATE_DATA *LastImage; UINT64 HandleDatabaseKey; UINTN SetJumpFlag; - UINT64 Tick; EFI_HANDLE Handle; - Tick = 0; Handle = ImageHandle; Image = CoreLoadedImageInfo (ImageHandle); @@ -1621,9 +1609,7 @@ CoreStartImage ( return EFI_UNSUPPORTED; } - PERF_CODE ( - Tick = GetPerformanceCounter (); - ); + PERF_START_IMAGE_BEGIN (Handle); // @@ -1647,8 +1633,7 @@ CoreStartImage ( // Image may be unloaded after return with failure, // then ImageHandle may be invalid, so use NULL handle to record perf log. // - PERF_START (NULL, "StartImage:", NULL, Tick); - PERF_END (NULL, "StartImage:", NULL, 0); + PERF_START_IMAGE_END (NULL); // // Pop the current start image context @@ -1763,8 +1748,7 @@ CoreStartImage ( // // Done // - PERF_START (Handle, "StartImage:", NULL, Tick); - PERF_END (Handle, "StartImage:", NULL, 0); + PERF_START_IMAGE_END (Handle); return Status; } diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c index 0ac3fdde6a..c4f629dadf 100644 --- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c +++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c @@ -1000,9 +1000,9 @@ PeiDispatcher ( // PeimEntryPoint = (EFI_PEIM_ENTRY_POINT2)(UINTN)EntryPoint; - PERF_START (PeimFileHandle, "PEIM", NULL, 0); + PERF_START_IMAGE_BEGIN (PeimFileHandle); PeimEntryPoint(PeimFileHandle, (const EFI_PEI_SERVICES **) &Private->Ps); - PERF_END (PeimFileHandle, "PEIM", NULL, 0); + PERF_START_IMAGE_END (PeimFileHandle); } // @@ -1109,7 +1109,7 @@ PeiDispatcher ( // The PEIM has its dependencies satisfied, and its entry point // has been found, so invoke it. // - PERF_START (PeimFileHandle, "PEIM", NULL, 0); + PERF_START_IMAGE_BEGIN (PeimFileHandle); REPORT_STATUS_CODE_WITH_EXTENDED_DATA ( EFI_PROGRESS_CODE, @@ -1145,7 +1145,7 @@ PeiDispatcher ( (VOID *)(&PeimFileHandle), sizeof (PeimFileHandle) ); - PERF_END (PeimFileHandle, "PEIM", NULL, 0); + PERF_START_IMAGE_END (PeimFileHandle); } } diff --git a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c index 775bf18ce9..a52e6f0201 100644 --- a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c +++ b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c @@ -352,18 +352,17 @@ PeiCore ( // Update performance measurements // if (OldCoreData == NULL) { - PERF_START (NULL, "SEC", NULL, 1); - PERF_END (NULL, "SEC", NULL, 0); + PERF_EVENT ("SEC"); // Means the end of SEC phase. // // If first pass, start performance measurement. // - PERF_START (NULL,"PEI", NULL, 0); - PERF_START (NULL,"PreMem", NULL, 0); + PERF_CROSSMODULE_BEGIN ("PEI"); + PERF_INMODULE_BEGIN ("PreMem"); } else { - PERF_END (NULL,"PreMem", NULL, 0); - PERF_START (NULL,"PostMem", NULL, 0); + PERF_INMODULE_END ("PreMem"); + PERF_INMODULE_BEGIN ("PostMem"); } // @@ -411,7 +410,7 @@ PeiCore ( // // Alert any listeners that there is permanent memory available // - PERF_START (NULL,"DisMem", NULL, 0); + PERF_INMODULE_BEGIN ("DisMem"); Status = PeiServicesInstallPpi (&mMemoryDiscoveredPpi); // @@ -419,7 +418,7 @@ PeiCore ( // ProcessNotifyList (&PrivateData); - PERF_END (NULL,"DisMem", NULL, 0); + PERF_INMODULE_END ("DisMem"); } // @@ -437,7 +436,7 @@ PeiCore ( // // Measure PEI Core execution time. // - PERF_END (NULL, "PostMem", NULL, 0); + PERF_INMODULE_END ("PostMem"); // // Lookup DXE IPL PPI diff --git a/MdeModulePkg/Core/PiSmmCore/Dispatcher.c b/MdeModulePkg/Core/PiSmmCore/Dispatcher.c index f32bbbd1b4..0b3b5924d3 100644 --- a/MdeModulePkg/Core/PiSmmCore/Dispatcher.c +++ b/MdeModulePkg/Core/PiSmmCore/Dispatcher.c @@ -321,13 +321,9 @@ SmmLoadImage ( EFI_DEVICE_PATH_PROTOCOL *HandleFilePath; EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv; PE_COFF_LOADER_IMAGE_CONTEXT ImageContext; - UINT64 Tick; - Tick = 0; - PERF_CODE ( - Tick = GetPerformanceCounter (); - ); - + PERF_LOAD_IMAGE_BEGIN (DriverEntry->ImageHandle); + Buffer = NULL; Size = 0; Fv = DriverEntry->Fv; @@ -641,8 +637,7 @@ SmmLoadImage ( &DriverEntry->SmmLoadedImage ); - PERF_START (DriverEntry->ImageHandle, "LoadImage:", NULL, Tick); - PERF_END (DriverEntry->ImageHandle, "LoadImage:", NULL, 0); + PERF_LOAD_IMAGE_END (DriverEntry->ImageHandle); // // Print the load address and the PDB file name if it is available @@ -909,9 +904,9 @@ SmmDispatcher ( // For each SMM driver, pass NULL as ImageHandle // RegisterSmramProfileImage (DriverEntry, TRUE); - PERF_START (DriverEntry->ImageHandle, "StartImage:", NULL, 0); + PERF_START_IMAGE_BEGIN (DriverEntry->ImageHandle); Status = ((EFI_IMAGE_ENTRY_POINT)(UINTN)DriverEntry->ImageEntryPoint)(DriverEntry->ImageHandle, gST); - PERF_END (DriverEntry->ImageHandle, "StartImage:", NULL, 0); + PERF_START_IMAGE_END (DriverEntry->ImageHandle); if (EFI_ERROR(Status)){ UnregisterSmramProfileImage (DriverEntry, TRUE); SmmFreePages(DriverEntry->ImageBuffer, DriverEntry->NumberOfPage); diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c b/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c index 686b9b45a5..45f40e0e60 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c @@ -644,7 +644,7 @@ SmmEntryPoint ( VOID *CommunicationBuffer; UINTN BufferSize; - PERF_START (NULL, "SMM", NULL, 0) ; + PERF_INMODULE_BEGIN ("SMM"); // // Update SMST with contents of the SmmEntryContext structure @@ -739,7 +739,7 @@ SmmEntryPoint ( gSmmCorePrivate->InSmm = FALSE; } - PERF_END (NULL, "SMM", NULL, 0) ; + PERF_INMODULE_END ("SMM"); } /** diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c index b842d5824a..59bd1e4c6c 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c @@ -45,7 +45,7 @@ BmEndOfBdsPerfCode ( // // Record the performance data for End of BDS // - PERF_END(NULL, "BDS", NULL, 0); + PERF_CROSSMODULE_END("BDS"); return ; } diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c b/MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c index 80511814ee..d85b603d64 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c @@ -722,23 +722,20 @@ EfiBootManagerConnectAllDefaultConsoles ( if (!EFI_ERROR (Status)) { OneConnected = TRUE; } - PERF_START (NULL, "ConOutReady", "BDS", 1); - PERF_END (NULL, "ConOutReady", "BDS", 0); + PERF_EVENT ("ConOutReady"); Status = EfiBootManagerConnectConsoleVariable (ConIn); if (!EFI_ERROR (Status)) { OneConnected = TRUE; } - PERF_START (NULL, "ConInReady", "BDS", 1); - PERF_END (NULL, "ConInReady", "BDS", 0); + PERF_EVENT ("ConInReady"); Status = EfiBootManagerConnectConsoleVariable (ErrOut); if (!EFI_ERROR (Status)) { OneConnected = TRUE; } - PERF_START (NULL, "ErrOutReady", "BDS", 1); - PERF_END (NULL, "ErrOutReady", "BDS", 0); + PERF_EVENT ("ErrOutReady"); SystemTableUpdated = FALSE; // diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c index 3191a98630..acb25abfcd 100644 --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c @@ -725,8 +725,8 @@ BdsEntry ( // // Insert the performance probe // - PERF_END (NULL, "DXE", NULL, 0); - PERF_START (NULL, "BDS", NULL, 0); + PERF_CROSSMODULE_END("DXE"); + PERF_CROSSMODULE_BEGIN("BDS"); DEBUG ((EFI_D_INFO, "[Bds] Entry...\n")); // @@ -888,9 +888,9 @@ BdsEntry ( // > Signal ReadyToLock event // > Authentication action: 1. connect Auth devices; 2. Identify auto logon user. // - PERF_START (NULL, "PlatformBootManagerBeforeConsole", "BDS", 0); + PERF_INMODULE_BEGIN("PlatformBootManagerBeforeConsole"); PlatformBootManagerBeforeConsole (); - PERF_END (NULL, "PlatformBootManagerBeforeConsole", "BDS", 0); + PERF_INMODULE_END("PlatformBootManagerBeforeConsole"); // // Initialize hotkey service @@ -907,7 +907,7 @@ BdsEntry ( // // Connect consoles // - PERF_START (NULL, "EfiBootManagerConnectAllDefaultConsoles", "BDS", 0); + PERF_INMODULE_BEGIN("EfiBootManagerConnectAllDefaultConsoles"); if (PcdGetBool (PcdConInConnectOnDemand)) { EfiBootManagerConnectConsoleVariable (ConOut); EfiBootManagerConnectConsoleVariable (ErrOut); @@ -917,7 +917,7 @@ BdsEntry ( } else { EfiBootManagerConnectAllDefaultConsoles (); } - PERF_END (NULL, "EfiBootManagerConnectAllDefaultConsoles", "BDS", 0); + PERF_INMODULE_END("EfiBootManagerConnectAllDefaultConsoles"); // // Do the platform specific action after the console is ready @@ -930,9 +930,9 @@ BdsEntry ( // > Dispatch aditional option roms // > Special boot: e.g.: USB boot, enter UI // - PERF_START (NULL, "PlatformBootManagerAfterConsole", "BDS", 0); + PERF_INMODULE_BEGIN("PlatformBootManagerAfterConsole"); PlatformBootManagerAfterConsole (); - PERF_END (NULL, "PlatformBootManagerAfterConsole", "BDS", 0); + PERF_INMODULE_END("PlatformBootManagerAfterConsole"); // // Boot to Boot Manager Menu when EFI_OS_INDICATIONS_BOOT_TO_FW_UI is set. Skip HotkeyBoot // @@ -1025,10 +1025,9 @@ BdsEntry ( // // Execute Key#### // - PERF_START (NULL, "BdsWait", "BDS", 0); + PERF_INMODULE_BEGIN ("BdsWait"); BdsWait (HotkeyTriggered); - PERF_END (NULL, "BdsWait", "BDS", 0); - + PERF_INMODULE_END ("BdsWait"); // // BdsReadKeys() can be removed after all keyboard drivers invoke callback in timer callback. //