On Mon, Jan 06, 2025 at 07:10:53PM -0800, Yosry Ahmed wrote: > > The main problem is memory usage. Zswap needs a PAGE_SIZE*2-sized > buffer for each request on each CPU. We preallocate these buffers to > avoid trying to allocate this much memory in the reclaim path (i.e. > potentially allocating two pages to reclaim one). Actually this PAGE_SIZE * 2 thing baffles me. Why would you allocate more memory than the input? The comment says that it's because certain hardware accelerators will disregard the output buffer length, but surely that's just a bug in the driver? Which driver does this? We should fix it or remove it if it's writing output with no regard to the maximum length. You should only ever need PAGE_SIZE for the output buffer, if the output exceeds that then just fail the compression. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt