toggle quoted messageShow quoted text
Thank you for the information.
Yes, the idea is to centralize the SMM performance report collection job to SmmCorePerformanceLib, and DxeCorePerformanceLib could communicate with SmmCorePerformanceLib for all SMM performance data rather than through FirmwarePerformance**Mm driver.
But we will not remove FirmwarePerformance**Mm driver, just remove the code logic related to **MM performance data which will be covered by **mmCorePerformanceLib.
FirmwarePerformance**Mm driver will still collect some performance data in S3 like the S3SuspendStart, S3SuspendEnd. We don't introduce any incompatible change.
If now StandaloneMm Core does not report performance data to FirmwarePerformanceStandaloneMm module, I think it should be ok to remove the handling of **MM performance data both in FirmwarePerformanceSmm and FirmwarePerformanceStandaloneMm now.
For SMM, the removed logic will be handled by SmmCorePerformanceLib
For StandaloneMm, I think we can submit an Edk2 feature to add a StandaloneMmCore instance with the same functionality of SmmCorePerformanceLib. As now the functionality of collecting StandaloneMm performance data is missing in Edk2.
From: Kun Qin <firstname.lastname@example.org>
Sent: Friday, August 6, 2021 6:49 AM
To: email@example.com; Bi, Dandan <firstname.lastname@example.org>;
Cc: Wu, Hao A <email@example.com>; Wang, Jian J <firstname.lastname@example.org>;
gaoliming <email@example.com>; Yao, Jiewen
<firstname.lastname@example.org>; Bret Barkelew <Bret.Barkelew@microsoft.com>;
'Sean Brogan' <email@example.com>
Subject: Re: [edk2-devel] Is there any use case of
Thanks for letting me know. I added Bret and Sean to the thread for broader
view in our scope.
But currently our StandaloneMm Core does not report performance data to
Is the idea to centralize the performance report collection job to
SmmCorePerformanceLib and remove the FirmwarePerformance**Mm
driver? Is there any plan to support a Standalone instance once the
traditional MM version is functional?
On 08/05/2021 04:44, Dandan Bi wrote:
I plan to make some change for FirmwarePerformanceSmm.inf, may also
update the behavior of FirmwarePerformanceStandaloneMm.inf as they
sharing codes now.used
And I saw you are the submitter of this driver. Could you help clarify
following questions ? Thanks in advance.
1. Do you have the use case to leverage
FirmwarePerformanceStandaloneMm.inf to collect Standalone MM
performance data now?
2. Do you have any Library/module used by StandaloneMmCore to collect
Standalone MM performance data and report the data to
FirmwarePerformanceStandaloneMm like the SmmCorePerformanceLib
for SMM core?and
3. I plan to move some logic from FirmwarePerformanceDataTableSmm to
SmmCorePerformanceLib as below. Do you think is it ok just to remove
them from FirmwarePerformanceStandaloneMm.inf now?
If there is not any module to report Standalone MM performance data to
FirmwarePerformanceStandaloneMm.inf, I think it should be OK to remove
them from FirmwarePerformanceStandaloneMm now.
SMM performance data collection now:
1. SmmCorePerformanceLib collect all the performance data in SMM and
report the data to FirmwarePerformanceDataTableSmm through status
2. DxeCorePerformanceLib will communicate with
FirmwarePerformanceDataTableSmm to get the SMM performance data
allocate performance table to store all the performance data.get
Now I want to simplify the process to make DxeCorePerformanceLib
communicate with SmmCorePerformanceLib directly to collect SMM
performance data, so FirmwarePerformanceDataTableSmm don't need to
the SMM performance data from SmmCorePerformanceLib and registerSMI
handler for the communication with DxeCorePerformanceLib.
For FirmwarePerformanceStandaloneMm.inf, just remove this logic if
there is no module to prepare MM performance data to it now.