-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Standalone MM Performance Support [Rebase & FF] #1268
Merged
makubacki
merged 2 commits into
microsoft:dev/202405
from
makubacki:add_standalonemm_perf_lib
Feb 12, 2025
Merged
Add Standalone MM Performance Support [Rebase & FF] #1268
makubacki
merged 2 commits into
microsoft:dev/202405
from
makubacki:add_standalonemm_perf_lib
Feb 12, 2025
+2,568
−1,848
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apop5
reviewed
Feb 3, 2025
MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
Outdated
Show resolved
Hide resolved
apop5
reviewed
Feb 3, 2025
MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
Outdated
Show resolved
Hide resolved
apop5
reviewed
Feb 3, 2025
apop5
reviewed
Feb 3, 2025
MdeModulePkg/Library/SmmCorePerformanceLib/MmCorePerformanceLib.c
Outdated
Show resolved
Hide resolved
apop5
reviewed
Feb 3, 2025
apop5
approved these changes
Feb 3, 2025
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev/202405 #1268 +/- ##
==============================================
- Coverage 1.60% 1.60% -0.01%
==============================================
Files 1379 1383 +4
Lines 359710 359859 +149
Branches 5524 5524
==============================================
Hits 5760 5760
- Misses 353843 353992 +149
Partials 107 107
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
makubacki
added a commit
to makubacki/mu_feature_mm_supv
that referenced
this pull request
Feb 3, 2025
Temporarily use this branch for testing. This commit will be reverted after the following Mu Basecore PR is merged: microsoft/mu_basecore#1268 Signed-off-by: Michael Kubacki <[email protected]>
5 tasks
e893f44
to
367a68d
Compare
e2d14db
to
f46a300
Compare
makubacki
added a commit
to makubacki/mu_feature_mm_supv
that referenced
this pull request
Feb 4, 2025
Temporarily use this branch for testing. This commit will be reverted after the following Mu Basecore PR is merged: microsoft/mu_basecore#1268 Signed-off-by: Michael Kubacki <[email protected]>
kuqin12
approved these changes
Feb 6, 2025
MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
Outdated
Show resolved
Hide resolved
MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
Outdated
Show resolved
Hide resolved
f46a300
to
b9ed16c
Compare
Adds a new library instance to support MM core functionality for performance in Standalone MM. - Add StandaloneMmCorePerformanceLib instance - Move common MM logic to a new file `MmCorePerformanceLib.c` - Define interfaces with implementation specific to MM environment type in `SmmCorePerformanceLibInternal.h` and implement those functions in the Standalone MM and Traditional MM specific C files Note: StandaloneMmCorePerformanceLib supports both `MM_CORE_STANDALONE` and `MM_STANDALONE` as some Standalone MM environments need to link this functionality in a ring 3 driver that is outside the ring 0 core driver. Signed-off-by: Michael Kubacki <[email protected]>
Adds a new library instance to support logging performance data in Standalone MM. - Add StandaloneMmPerformanceLib instance - Move common MM logic to a new file `SmmPerformanceLibInternal.c` - Since the library largely defers most logic to the performance measurement protocol a large degree of code can be shared between Standalone MM and Traditional MM. Signed-off-by: Michael Kubacki <[email protected]>
b9ed16c
to
b8cae80
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This series is going to edk2 but it is being made available in parallel to Project Mu since the edk2 202502 soft freeze began today. The plan is to not backport this Mu series but keep in the "dev" branch. Once the changes are in edk2, the dev branch will be reconciled with those changes and that will be backported.
This gets performance records from most Standalone MM drivers. In a privilege separated environment like that of the Standalone MM Supervisor, this would cover user mode drivers. Additional changes specific to the supervisor would need to be made to also get performance records from the supervisor itself.
MdeModulePkg: Add Standalone MM Core performance support
Adds a new library instance to support MM core functionality for
performance in Standalone MM.
MmCorePerformanceLib.c
type in
SmmCorePerformanceLibInternal.h
and implement thosefunctions in the Standalone MM and Traditional MM specific C files
Note: StandaloneMmCorePerformanceLib supports both
MM_CORE_STANDALONE
andMM_STANDALONE
as some Standalone MMenvironments need to link this functionality in a ring 3 driver
that is outside the ring 0 core driver.
MdeModulePkg: Add Standalone MM perf library support
Adds a new library instance to support logging performance data in
Standalone MM.
SmmPerformanceLibInternal.c
measurement protocol a large degree of code can be shared between
Standalone MM and Traditional MM.
How This Was Tested
Integration Instructions
MdeModulePkg/Library/SmmCorePerformanceLib/StandaloneMmCorePerformanceLib.inf
against a Standalone MM module that is loaded early and has MM Services available.
MdeModulePkg/Library/SmmPerformanceLib/StandaloneMmPerformanceLib.inf
againstall Standalone MM modules that have a
PerformanceLib
dependency and need to logMM performance data.