Re: Is there any use case of FirmwarePerformanceStandaloneMm.inf now?


Dandan Bi
 

Hi Kun,

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.



Thanks,
Dandan

-----Original Message-----
From: Kun Qin <kuqin12@gmail.com>
Sent: Friday, August 6, 2021 6:49 AM
To: devel@edk2.groups.io; Bi, Dandan <dandan.bi@intel.com>;
kun.q@outlook.com
Cc: Wu, Hao A <hao.a.wu@intel.com>; Wang, Jian J <jian.j.wang@intel.com>;
gaoliming <gaoliming@byosoft.com.cn>; Yao, Jiewen
<jiewen.yao@intel.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>;
'Sean Brogan' <sean.brogan@microsoft.com>
Subject: Re: [edk2-devel] Is there any use case of
FirmwarePerformanceStandaloneMm.inf now?

Hi Dandan,

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
FirmwarePerformanceStandaloneMm module.

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?

Thanks,
Kun


On 08/05/2021 04:44, Dandan Bi wrote:
Hi Kun,

I plan to make some change for FirmwarePerformanceSmm.inf, may also
update the behavior of FirmwarePerformanceStandaloneMm.inf as they
are
sharing codes now.

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
used
for SMM core?
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.

Change:

SMM performance data collection now:

1. SmmCorePerformanceLib collect all the performance data in SMM and
report the data to FirmwarePerformanceDataTableSmm through status
code. **
2. DxeCorePerformanceLib will communicate with
FirmwarePerformanceDataTableSmm to get the SMM performance data
and
allocate performance table to store all the performance data.

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
get
the SMM performance data from SmmCorePerformanceLib and register
SMI
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.

Thanks,

Dandan

Join devel@edk2.groups.io to automatically receive all group messages.