Hi all, This series is some cleanups for lockless slab shrink, I dropped the [PATCH v2 5/5] which is more related to the main lockless patch. This series is based on the v6.6-rc1. Comments and suggestions are welcome. Thanks, Qi Changlog in v3 -> v4: - rebase onto the v6.6-rc1 Changlog in part 1 v2 -> part 1 v3: - drop [PATCH v2 5/5] - collect Acked-by - rebase onto the next-20230823 Changlog in part 1 v1 -> part 1 v2: - fix compilation warning in [PATCH 1/5] - rename synchronize_shrinkers() to ttm_pool_synchronize_shrinkers() (pointed by Christian König) - collect Reviewed-by Changlog in v4 -> part 1 v1: - split from the previous large patchset - fix comment format in [PATCH v4 01/48] (pointed by Muchun Song) - change to use kzalloc_node() and fix typo in [PATCH v4 44/48] (pointed by Dave Chinner) - collect Reviewed-bys - rebase onto the next-20230815 Qi Zheng (4): mm: move some shrinker-related function declarations to mm/internal.h mm: vmscan: move shrinker-related code into a separate file mm: shrinker: remove redundant shrinker_rwsem in debugfs operations drm/ttm: introduce pool_shrink_rwsem drivers/gpu/drm/ttm/ttm_pool.c | 17 +- include/linux/shrinker.h | 20 - mm/Makefile | 4 +- mm/internal.h | 28 ++ mm/shrinker.c | 694 ++++++++++++++++++++++++++++++++ mm/shrinker_debug.c | 18 +- mm/vmscan.c | 701 --------------------------------- 7 files changed, 743 insertions(+), 739 deletions(-) create mode 100644 mm/shrinker.c -- 2.30.2