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 and is based on the next-20230815.
Comments and suggestions are welcome.
[1]. https://lore.kernel.org/lkml/20230807110936.21819-1-zhengqi.arch@xxxxxxxxxxxxx/
Thanks,
Qi
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 (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 | 17 +-
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 | 18 +-
mm/vmscan.c | 701 ------------------------------
8 files changed, 818 insertions(+), 750 deletions(-)
create mode 100644 mm/shrinker.c