Re: [PATCH v3 1/3] mm: zswap: use separate compression and decompression requests

From: Yosry Ahmed

Date: Tue Oct 13 2026 - 17:08:00 EST


On Tue, Oct 13, 2026 at 1:57 PM Yosry Ahmed <yosry@xxxxxxxxxx> wrote:
>
> On Tue, Oct 13, 2026 at 8:10 AM Usama Arif <usama.arif@xxxxxxxxx> wrote:
> >
> > Stores and loads serialize on the same per-CPU acomp request and mutex.
> > A low-priority store can be preempted as soon as the compressor drops
> > its stream lock, while it still holds the mutex. A higher-priority load
> > on that CPU then waits until the store runs again, which can take a
> > long time when other tasks are runnable.
> >
> > Give compression and decompression their own request, completion wait
> > and mutex. Since commit e2c3b6b21c77f ("mm: zswap: use SG list
> > decompression APIs from zsmalloc"), the per-CPU buffer is only used for
> > compression, so group it with the compression request. Independent
> > requests can share the per-CPU transform; the codecs and drivers
> > synchronize their shared state internally. Loads can still wait for
> > each other on the decompression mutex, and stores still serialize on
> > the compression mutex.

Probably worth calling out the extra memory usage pCPU (at least on x86_64).