[PATCH v2 0/3] mm/zswap: fix race between lru writeback and swapoff

From: Chengming Zhou
Date: Sun Jan 28 2024 - 08:29:10 EST


This is based on mm-unstable and the "mm: zswap: fix missing folio cleanup
in writeback race path" patch [1].

Changes in v2:
- Append a patch to remove list_lru_putback() since its only user
in zswap has gone, per Nhat.
- Improve the commit messages per Johannes.
- Add comments about the lru rotate in shrink_memcg_cb() per Johannes.
- Collect tags.
- Link to v1: https://lore.kernel.org/all/20240126083015.3557006-1-chengming.zhou@xxxxxxxxx/

This series mainly fix the race problem between lru writeback and swapoff,
which is spotted by Yosry [2]. Please see the commits for details.

Thanks for review and comments!

[1] https://lore.kernel.org/all/20240125085127.1327013-1-yosryahmed@xxxxxxxxxx/
[2] https://lore.kernel.org/all/CAJD7tkasHsRnT_75-TXsEe58V9_OW6m3g6CF7Kmsvz8CKRG_EA@xxxxxxxxxxxxxx/

Signed-off-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>
---
Chengming Zhou (3):
mm/zswap: don't return LRU_SKIP if we have dropped lru lock
mm/zswap: fix race between lru writeback and swapoff
mm/list_lru: remove list_lru_putback()

include/linux/list_lru.h | 16 -------
mm/list_lru.c | 14 ------
mm/zswap.c | 120 ++++++++++++++++++++---------------------------
3 files changed, 51 insertions(+), 99 deletions(-)
---
base-commit: 13d63cb513841433b69564b07614169e61113720
change-id: 20240126-zswap-writeback-race-2773be0a3ad4

Best regards,
--
Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>