MdeModulePkg/SmmCore: Add perf-logging for time-consuming procedures
Following procedures are perf-logged: * SmmReadyToBootHandler * SmmReadyToLockHandler * SmmEndOfDxeHandler * SmmEntryPoint (It's the main routine run in BSP when SMI happens.) * SmiManage Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
This commit is contained in:
@@ -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 ();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user