|
|
Subscribe / Log in / New account

use refcount+RCU method to implement lockless slab shrink (part 1)

From:  Qi Zheng <zhengqi.arch-AT-bytedance.com>
To:  akpm-AT-linux-foundation.org, david-AT-fromorbit.com, tkhai-AT-ya.ru, vbabka-AT-suse.cz, roman.gushchin-AT-linux.dev, djwong-AT-kernel.org, brauner-AT-kernel.org, paulmck-AT-kernel.org, tytso-AT-mit.edu, steven.price-AT-arm.com, cel-AT-kernel.org, senozhatsky-AT-chromium.org, yujie.liu-AT-intel.com, gregkh-AT-linuxfoundation.org, muchun.song-AT-linux.dev, joel-AT-joelfernandes.org, christian.koenig-AT-amd.com
Subject:  [PATCH 0/5] use refcount+RCU method to implement lockless slab shrink (part 1)
Date:  Wed, 16 Aug 2023 16:34:14 +0800
Message-ID:  <20230816083419.41088-1-zhengqi.arch@bytedance.com>
Cc:  linux-kernel-AT-vger.kernel.org, linux-mm-AT-kvack.org, dri-devel-AT-lists.freedesktop.org, linux-fsdevel-AT-vger.kernel.org, Qi Zheng <zhengqi.arch-AT-bytedance.com>
Archive-link:  Article

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-zheng...

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



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds