On Wed, Mar 05, 2025 at 04:25:44PM +0000, Yosry Ahmed wrote: > > Zswap is already using an SG list when calling into the crypto API. The > problem is that SGs (i.e. sg_init_one()) does not support kmap highmem > addresses. Is there a fundamental reason this can't happen, or is it > just sg_set_bug() using virt_to_page(). The whole point of SG lists is so that you don't need to kmap it until the data is actually accessed. Putting kmapped memory into the SG lists defeats the purpose. > Also, since the crypto API is using SG lists internally as far as I can > tell, how does acomp_request_set_nondma() essentially deal with this? I > don't understand why we need to use a separate nondma API for highmem. I will post another acomp update soon where the hardware offload path (the only one that can't deal with nondma) will simply fall back to software compression if it sees a nondma address. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt