Skip to content
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

2405: Add Parallel LZMA Decompress [Rebase & FF] #923

Merged

Conversation

makubacki
Copy link
Member

Description

BaseTools: Add ParallelLzmaCompress tool GUID

Allows the Parallel LZMA Compress tool to be selected via its GUID
for compression.


MdeModulePkg: Add ParallelLzmaCustomDecompressLib

Allows decompression to occur in parallel with other execution. The
library relies on the standard LzmaCustomDecompress lib to do the
actual LZMA decompression work and expects to be linked against it
to pick up that functionality.


  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

  • Carry forward from release/202311 (and previous release branches) where
    it was tested on Mu platforms.

Integration Instructions

Typically, a module responsible for GUID section extraction on a platform.
Extract is most often performed in PEI on platforms with that phase where
content is processed and made available in its post-processed form to later
phases such as DXE.

An example of how to integrate this library using the GuidedSectionExtract
PEIM in MsCorePkg of Project Mu is shown below:

  MsCorePkg/Core/GuidedSectionExtractPeim/GuidedSectionExtract.inf {
    <LibraryClasses>
      ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
      NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
      NULL|MdeModulePkg/Library/ParallelLzmaCustomDecompressLib/ParallelLzmaCustomDecompressLib.inf
      UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
      DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  }

Note that ParallelLzmaCustomDecompressLib relies upon a LzmaCustomDecompressLib
lib to be linked to perform the underlying LZMA decompression.

@makubacki makubacki added type:enhancement New feature or pull request type:feature-request A new feature proposal labels Jun 18, 2024
@makubacki makubacki self-assigned this Jun 18, 2024
@makubacki makubacki force-pushed the 2405_add_parallel_lzma_decompress branch from 34d90d4 to 4dbd310 Compare June 21, 2024 18:34
@codecov-commenter
Copy link

codecov-commenter commented Jun 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (release/202405@d312586). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202405     #923   +/-   ##
=================================================
  Coverage                  ?   38.29%           
=================================================
  Files                     ?      207           
  Lines                     ?    28463           
  Branches                  ?     6980           
=================================================
  Hits                      ?    10901           
  Misses                    ?    17497           
  Partials                  ?       65           
Flag Coverage Δ
MdeModulePkg 17.80% <ø> (?)
MdePkg 51.59% <ø> (?)
NetworkPkg 8.51% <ø> (?)
UefiCpuPkg 28.75% <ø> (?)
UnitTestFrameworkPkg 6.01% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

joschock and others added 2 commits June 21, 2024 18:54
Allows the Parallel LZMA Compress tool to be selected via its GUID
for compression.

Signed-off-by: Michael Kubacki <[email protected]>
Allows decompression to occur in parallel with other execution. The
library relies on the standard LzmaCustomDecompress lib to do the
actual LZMA decompression work and expects to be linked against it
to pick up that functionality.

Co-authored-by: Michael Kubacki <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
@makubacki makubacki force-pushed the 2405_add_parallel_lzma_decompress branch from 4dbd310 to 1e8dcd0 Compare June 21, 2024 22:54
@makubacki makubacki merged commit ec2d985 into microsoft:release/202405 Jun 24, 2024
33 checks passed
@makubacki makubacki linked an issue Jun 26, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement New feature or pull request type:feature-request A new feature proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: Parallel LZMA Decompress
5 participants