On Sat, Feb 17, 2024 at 06:36:42PM +1300, Barry Song wrote: > From: Barry Song <v-songbaohua@xxxxxxxx> > > We used to rely on the returned -ENOSPC of zpool_malloc() to increase > reject_compress_poor. But the code wouldn't get to there after commit > 744e1885922a ("crypto: scomp - fix req->dst buffer overflow") as the > new code will goto out immediately after the special compression case > happens. So there might be no longer a chance to execute zpool_malloc > now. We are incorrectly increasing zswap_reject_compress_fail instead. > Thus, we need to fix the counters handling right after compressions > return ENOSPC. This patch also centralizes the counters handling for > all of compress_poor, compress_fail and alloc_fail. > > Fixes: 744e1885922a ("crypto: scomp - fix req->dst buffer overflow") > Cc: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> > Cc: Nhat Pham <nphamcs@xxxxxxxxx> > Cc: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> > Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx> > --- > -v2: > * correct the fixes target according to Yosry, Chengming, Nhat's > comments; > * centralize the counters handling according to Yosry's comment Yet Yosry is not CC'd :P The patch LGTM, but it won't apply on top of mm-unstable given the amount of zswap refactoring there. I would rebase on top of mm-unstable if I were you (and if you did, add mm-unstable in the subject prefix). Acked-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx> Thanks!