[PATCH v5 0/2] mm: zswap: fixes for global shrinker
From: Takero Funaki
Date: Tue Jul 30 2024 - 20:49:34 EST
This series addresses issues in the zswap global shrinker that could not
shrink stored pages. With this series, the shrinker continues to shrink
pages until it reaches the accept threshold more reliably, gives much
higher writeback when the zswap pool limit is hit.
v5 is additional cleanup on comments I missed in the last thread, and
adds Acked-by and Reviewed-by tags into the patch 1.
No behavioral changes have been made since v4:
https://lore.kernel.org/lkml/20240727230635.3170-1-flintglass@xxxxxxxxx/
Chnaged in v5:
- Cleaned up more comments (Yosry)
Changes in v4:
- Updated comments and commit logs to clarify expected behaviors (Yosry,
Nhat)
- Merged duplicated spin_unlock() in if branches (Nhat)
- Renamed writeback attempts counter (Nhat, Chengming)
Changes in v3:
- Extract fixes for shrinker as a separate patch series.
- Fix comments and commit messages. (Chengming, Yosry)
- Drop logic to detect rare doubly advancing cursor. (Yosry)
Changes in v2:
mm: zswap: fix global shrinker memcg iteration:
- Change the loop style (Yosry, Nhat, Shakeel)
mm: zswap: fix global shrinker error handling logic:
- Change error code for no-writeback memcg. (Yosry)
- Use nr_scanned to check if lru is empty. (Yosry)
Changes in v1:
mm: zswap: fix global shrinker memcg iteration:
- Drop and reacquire spinlock before skipping a memcg.
- Add some comment to clarify the locking mechanism.
---
Takero Funaki (2):
mm: zswap: fix global shrinker memcg iteration
mm: zswap: fix global shrinker error handling logic
mm/zswap.c | 106 ++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 76 insertions(+), 30 deletions(-)
--
2.43.0