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

zstd: support external sequence producer API #4

Open
wants to merge 1 commit into
base: zstd-next
Choose a base branch
from

Conversation

embg
Copy link

@embg embg commented Jul 30, 2024

See commit message

Cherry-picks support for using zstd's external sequence producer API in the
kernel. This unblocks the use of QuickAssist hardware acceleration for zstd in
applications such as BTRFS.

Three upstream PRs are included in this cherry-pick:
* PR #3839: move ESP params into `ZSTD_CCtx_params`
* PR #3854: add `ZSTD_CCtxParams_registerSequenceProducer`
* PR #4064: expose relevant functions so they can be used in Linux

To build this commit, I first cherry-picked the relevant upstream
commits onto the upstream v1.5.5-kernel tag:
```
  cd ~/repos/zstd
  git checkout tags/v1.5.5-kernel
  git cherry-pick -m 1 126ec2669c927b24acd38ea903a211c1b5416588
  git cherry-pick c6cabf94417d84ebb5da62e05d8b8a9623763585
  git cherry-pick 3242ac598e6f17d8008f6110337a3b4c1205842b
```

I then ran "make import" to copy the changes into my fork of Linux:
```
  cd ~/repos/zstd/contrib/linux-kernel/
  make import
```

Finally, I reverted an unrelated change which was pulled in by the
import:
```
  cd ~/repos/linux
  git commit
  git checkout HEAD^1 -- lib/zstd/common/debug.c
  git commit --amend
```
This unrelated change occurred due to a patch in zstd-next which
was slightly modified when it landed upstream (post-1.5.5 release).
I verified that the debug.c change is the only patch in zstd-next
which is not a direct cherrypick from upstream.

Signed-off-by: Elliot Gorokhovsky <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant