|
|
Log in / Subscribe / Register

crypto: acomp - Add virtual address and folio support

From:  Herbert Xu <herbert-AT-gondor.apana.org.au>
To:  Linux Crypto Mailing List <linux-crypto-AT-vger.kernel.org>
Subject:  [v4 PATCH 00/13] crypto: acomp - Add virtual address and folio support
Date:  Fri, 14 Mar 2025 20:22:17 +0800
Message-ID:  <cover.1741954523.git.herbert@gondor.apana.org.au>
Cc:  Richard Weinberger <richard-AT-nod.at>, Zhihao Cheng <chengzhihao1-AT-huawei.com>, linux-mtd-AT-lists.infradead.org, "Rafael J. Wysocki" <rafael-AT-kernel.org>, Pavel Machek <pavel-AT-ucw.cz>, linux-pm-AT-vger.kernel.org, Steffen Klassert <steffen.klassert-AT-secunet.com>, netdev-AT-vger.kernel.org
Archive-link:  Article

v4 adds acomp software fallback path, folio support and converts
existing legacy crypto_comp users.

This patch series adds virtual address and folio support to acomp.
This finally brings it to feature parity with the legacy crypto_comp,
which enables us to convert the existing users to acomp.

The three users are converted according to their characteristics:
ubifs uses folio+linear, hibernate uses linear only while ipcomp
uses SG only.

Only ipcomp is fully asynchronous, ubifs supports asynchronous
but will wait on it and hibernate is synchronous only.

Herbert Xu (13):
  crypto: qat - Remove dst_null support
  crypto: iaa - Remove dst_null support
  crypto: scomp - Remove support for some non-trivial SG lists
  crypto: acomp - Remove dst_free
  crypto: scomp - Add chaining and virtual address support
  crypto: acomp - Add ACOMP_REQUEST_ALLOC and acomp_request_alloc_extra
  crypto: iaa - Use acomp stack fallback
  crypto: acomp - Add async nondma fallback
  crypto: acomp - Add support for folios
  ubifs: Use crypto_acomp interface
  ubifs: Pass folios to acomp
  PM: hibernate: Use crypto_acomp interface
  xfrm: ipcomp: Use crypto_acomp interface

 crypto/acompress.c                            | 148 ++++--
 crypto/scompress.c                            | 189 ++++---
 drivers/crypto/intel/iaa/iaa_crypto_main.c    | 164 +-----
 .../intel/qat/qat_common/qat_comp_algs.c      |  83 ---
 fs/ubifs/compress.c                           | 217 ++++++--
 fs/ubifs/file.c                               |  74 +--
 fs/ubifs/journal.c                            |  11 +-
 fs/ubifs/ubifs.h                              |  26 +-
 include/crypto/acompress.h                    | 184 ++++++-
 include/crypto/internal/acompress.h           |  26 +-
 include/crypto/internal/scompress.h           |   2 -
 include/linux/crypto.h                        |   1 +
 include/net/ipcomp.h                          |  13 +-
 kernel/power/swap.c                           |  58 ++-
 net/xfrm/xfrm_ipcomp.c                        | 477 +++++++++---------
 15 files changed, 932 insertions(+), 741 deletions(-)

-- 
2.39.5




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds