From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
Yosry Ahmed <yosry.ahmed@linux.dev>,
Eric Biggers <ebiggers@kernel.org>,
Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
linux-mm@kvack.org
Subject: Re: [RFC PATCH 7/7] mm: zswap: Use acomp virtual address interface
Date: Tue, 4 Mar 2025 17:45:31 +0900 [thread overview]
Message-ID: <o4zei74phb2tl64lawbfjqzqpirwvn4lnmdmzanhtvswfm36gj@z53kttzjaftf> (raw)
In-Reply-To: <Z8a83Vjmvm81LGOf@gondor.apana.org.au>
On (25/03/04 16:42), Herbert Xu wrote:
> On Tue, Mar 04, 2025 at 05:33:05PM +0900, Sergey Senozhatsky wrote:
> >
> > And at some point you do memcpy() from SG list to a local buffer?
> >
> > zsmalloc map() has a shortcut - for objects that fit one physical
> > page (that includes huge incompressible PAGE_SIZE-ed objects)
> > zsmalloc kmap the physical page in question and returns a pointer
> > to that mapping.
>
> If the SG list only has a single entry, there will be no copies
> whatsoever even with the existing scomp code (crypto/scompress.c):
Nice.
[..]
> This still does an unnecessary copy for highmem, but that will
> disappear after my acomp patch-set:
>
> if (sg_nents(req->src) == 1 &&
> (!PageHighMem(sg_page(req->src)) ||
> req->src->offset + slen <= PAGE_SIZE))
> src = kmap_local_page(sg_page(req->src)) + req->src->offset;
> else
> Use scratch buffer and do a copy
>
> I've also modified LZO decompression to handle SG lists which I will
> post soon. That will mean that no copies will ever occur for LZO
> decompression. The same change could be extended to other algorithms
> if someone wishes to eliminate the copy for their favourite algorithm.
That's interesting.
next prev parent reply other threads:[~2025-03-04 8:45 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-27 10:14 [PATCH 0/7] crypto: acomp - Add request chaining and virtual address support Herbert Xu
2025-02-27 10:14 ` [PATCH 1/7] crypto: iaa - Test the correct request flag Herbert Xu
2025-02-27 10:14 ` [PATCH 2/7] crypto: acomp - Remove acomp request flags Herbert Xu
2025-02-27 10:15 ` [PATCH 3/7] crypto: acomp - Add request chaining and virtual addresses Herbert Xu
2025-02-27 18:33 ` Eric Biggers
2025-02-27 10:15 ` [PATCH 4/7] crypto: testmgr - Remove NULL dst acomp tests Herbert Xu
2025-02-27 10:15 ` [PATCH 5/7] crypto: scomp - Remove support for non-trivial SG lists Herbert Xu
2025-02-27 10:15 ` [PATCH 6/7] crypto: scomp - Add chaining and virtual address support Herbert Xu
2025-02-27 10:15 ` [RFC PATCH 7/7] mm: zswap: Use acomp virtual address interface Herbert Xu
2025-02-27 18:11 ` Yosry Ahmed
2025-02-27 18:38 ` Eric Biggers
2025-02-27 21:43 ` Yosry Ahmed
2025-02-28 8:13 ` Herbert Xu
2025-02-28 9:54 ` Herbert Xu
2025-02-28 15:56 ` Yosry Ahmed
2025-03-01 6:36 ` Herbert Xu
2025-03-01 7:03 ` Herbert Xu
2025-03-03 20:17 ` Yosry Ahmed
2025-03-04 3:29 ` Herbert Xu
2025-03-04 4:30 ` Yosry Ahmed
2025-03-04 6:10 ` Herbert Xu
2025-03-04 8:33 ` Sergey Senozhatsky
2025-03-04 8:42 ` Herbert Xu
2025-03-04 8:45 ` Sergey Senozhatsky [this message]
2025-03-04 13:19 ` Sergey Senozhatsky
2025-03-04 20:47 ` Yosry Ahmed
2025-03-05 3:45 ` Herbert Xu
[not found] ` <Z8fssWOSw0kfggsM@google.com>
2025-03-05 7:41 ` Herbert Xu
2025-03-05 17:07 ` Nhat Pham
2025-03-06 2:48 ` Sergey Senozhatsky
2025-03-05 3:40 ` Herbert Xu
[not found] ` <Z8fsXZNgEbVkZrJP@google.com>
2025-03-05 7:46 ` Herbert Xu
2025-03-05 14:10 ` Herbert Xu
2025-03-05 16:25 ` Yosry Ahmed
2025-03-06 0:40 ` Herbert Xu
2025-03-06 16:58 ` Yosry Ahmed
2025-03-01 7:34 ` Herbert Xu
2025-03-01 7:38 ` Herbert Xu
2025-02-27 18:11 ` [PATCH 0/7] crypto: acomp - Add request chaining and virtual address support Yosry Ahmed
2025-02-28 9:02 ` Herbert Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=o4zei74phb2tl64lawbfjqzqpirwvn4lnmdmzanhtvswfm36gj@z53kttzjaftf \
--to=senozhatsky@chromium.org \
--cc=ebiggers@kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=yosry.ahmed@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox