Following procedures are perf-logged: * SmmReadyToBootHandler * SmmReadyToLockHandler * SmmEndOfDxeHandler * SmmEntryPoint (It's the main routine run in BSP when SMI happens.) * SmiManage
Cc: Jian J Wang <jian.j.w...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Jiaxin Wu <jiaxin...@intel.com> Reviewed-by: Jiaxin Wu <jiaxin...@intel.com> Reviewed-by: Eric Dong <eric.d...@intel.com> --- MdeModulePkg/Core/PiSmmCore/PiSmmCore.c | 15 ++++++++++++++- MdeModulePkg/Core/PiSmmCore/Smi.c | 6 ++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c b/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c index 875c7c0258..68af9ab81b 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c @@ -1,7 +1,7 @@ /** @file SMM Core Main Entry Point - Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2009 - 2023, Intel Corporation. All rights reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -305,6 +305,8 @@ SmmReadyToBootHandler ( EFI_STATUS Status; EFI_HANDLE SmmHandle; + PERF_CALLBACK_BEGIN (&gEfiEventReadyToBootGuid); + // // Install SMM Ready To Boot protocol. // @@ -318,6 +320,7 @@ SmmReadyToBootHandler ( SmiHandlerUnRegister (DispatchHandle); + PERF_CALLBACK_END (&gEfiEventReadyToBootGuid); return Status; } @@ -352,6 +355,8 @@ SmmReadyToLockHandler ( EFI_HANDLE SmmHandle; VOID *Interface; + PERF_CALLBACK_BEGIN (&gEfiDxeSmmReadyToLockProtocolGuid); + // // Unregister SMI Handlers that are no required after the SMM driver dispatch is stopped // @@ -408,6 +413,7 @@ SmmReadyToLockHandler ( SmramProfileReadyToLock (); + PERF_CALLBACK_END (&gEfiDxeSmmReadyToLockProtocolGuid); return Status; } @@ -442,6 +448,8 @@ SmmEndOfDxeHandler ( DEBUG ((DEBUG_INFO, "SmmEndOfDxeHandler\n")); + PERF_CALLBACK_BEGIN (&gEfiEndOfDxeEventGroupGuid); + // // Install SMM EndOfDxe protocol // @@ -479,6 +487,7 @@ SmmEndOfDxeHandler ( } } + PERF_CALLBACK_END (&gEfiEndOfDxeEventGroupGuid); return EFI_SUCCESS; } @@ -669,6 +678,8 @@ SmmEntryPoint ( VOID *CommunicationBuffer; UINTN BufferSize; + PERF_FUNCTION_BEGIN (); + // // Update SMST with contents of the SmmEntryContext structure // @@ -769,6 +780,8 @@ SmmEntryPoint ( // gSmmCorePrivate->InSmm = FALSE; } + + PERF_FUNCTION_END (); } /** diff --git a/MdeModulePkg/Core/PiSmmCore/Smi.c b/MdeModulePkg/Core/PiSmmCore/Smi.c index 6d13969979..2985f989c3 100644 --- a/MdeModulePkg/Core/PiSmmCore/Smi.c +++ b/MdeModulePkg/Core/PiSmmCore/Smi.c @@ -109,6 +109,8 @@ SmiManage ( BOOLEAN SuccessReturn; EFI_STATUS Status; + PERF_FUNCTION_BEGIN (); + Status = EFI_NOT_FOUND; SuccessReturn = FALSE; if (HandlerType == NULL) { @@ -125,6 +127,7 @@ SmiManage ( // // There is no handler registered for this interrupt source // + PERF_FUNCTION_END (); return Status; } } @@ -148,6 +151,7 @@ SmiManage ( // no additional handlers will be processed and EFI_INTERRUPT_PENDING will be returned. // if (HandlerType != NULL) { + PERF_FUNCTION_END (); return EFI_INTERRUPT_PENDING; } @@ -160,6 +164,7 @@ SmiManage ( // additional handlers will be processed. // if (HandlerType != NULL) { + PERF_FUNCTION_END (); return EFI_SUCCESS; } @@ -194,6 +199,7 @@ SmiManage ( Status = EFI_SUCCESS; } + PERF_FUNCTION_END (); return Status; } -- 2.39.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106045): https://edk2.groups.io/g/devel/message/106045 Mute This Topic: https://groups.io/mt/99500181/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-