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>