[PATCH 0/5] use refcount+RCU method to implement lockless slab shrink (part 1)

From: Qi Zheng
Date: Wed Aug 16 2023 - 04:38:03 EST


Hi all,

To make reviewing and updating easier, I've chosen to split the previous
patchset[1] into the following three parts:

part 1: some cleanups and preparations
part 2: introduce new APIs and convert all shrinnkers to use these
part 3: implement lockless slab shrink

This series is the part 1.

Comments and suggestions are welcome.

[1]. https://lore.kernel.org/lkml/20230807110936.21819-1-zhengqi.arch@xxxxxxxxxxxxx/

Thanks,
Qi

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 (5):
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
mm: shrinker: add a secondary array for shrinker_info::{map,
nr_deferred}

drivers/gpu/drm/ttm/ttm_pool.c | 15 +
include/linux/memcontrol.h | 12 +-
include/linux/shrinker.h | 37 +-
mm/Makefile | 4 +-
mm/internal.h | 28 ++
mm/shrinker.c | 751 +++++++++++++++++++++++++++++++++
mm/shrinker_debug.c | 16 +-
mm/vmscan.c | 701 ------------------------------
8 files changed, 815 insertions(+), 749 deletions(-)
create mode 100644 mm/shrinker.c

--
2.30.2