dm vdo: add minimal IAA compression support#96
Closed
AmethystCv wants to merge 2 commits intodm-vdo:linux-6.11from
Closed
dm vdo: add minimal IAA compression support#96AmethystCv wants to merge 2 commits intodm-vdo:linux-6.11from
AmethystCv wants to merge 2 commits intodm-vdo:linux-6.11from
Conversation
Signed-off-by: Amethyst <439291857@qq.com>
Member
|
This repository does not accept public submissions. If you wish to submit a change to dm-vdo, you should do so by sending it the device-mapper mailing list (dm-devel@lists.linux.dev) for discussion. When you do, though, I would also advise you to describe the feature you are trying to add in more detail, and provide references to the "known-good intel IAA integration from the 6.11 VDO tree" that you are trying to integrate, because, as far as I can tell, no such feature exists, or has ever existed. |
This file contains hidden or 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
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.
Summary
This change ports the known-good intel IAA integration from the 6.11 VDO tree into the
6.11-based
dm-linuxbranch with the smallest practical footprint.It adds an IAA-backed compression path for VDO writes, preserves the existing
LZ4 path as the default fallback, and records the compression algorithm in the
compressed block header so that reads can choose the correct decompression path.
The goal of this patch is compatibility and correctness, not feature expansion:
it intentionally avoids bringing over the older perf, batching, benchmark, and
CPU-deflate-only code.
Motivation
A previous attempt wired
crypto_acomp_compress()into VDO, but did notreliably exercise the IAA provider at runtime.
The root cause was the CPU-local acomp context setup. In the known-good 6.11
implementation, the per-CPU IAA context is initialized on the same CPU that
holds the
get_cpu_ptr()reference. This patch aligns the new code with thatmodel and also validates that the resolved acomp driver is actually
deflate-iaa, rather than silently running through a non-IAA provider.What this patch changes
Write path
data-vio.cdeflate-iaawheniaa_enabled=1compression request, matching the working 6.11 behavior
deflate-iaafails, or compression is not effective
Read path
the compressed block header
zlibinflate for compatibility when IAA decompression isunavailable or not usable
Metadata / packing
marked as IAA
Module integration
iaa_enabledmodule parameterdm-vdo-target.cWhat this patch does not do
This patch is intentionally minimal. It does not port:
User-visible behavior
iaa_enabled=1and IAA hardware/provider is available, VDO writecompression uses
deflate-iaaHow to use
Enable IAA for VDO at module load time: