Re: [PATCH v2 01/47] mm: vmscan: move shrinker-related code into a separate file

From: Qi Zheng
Date: Mon Jul 24 2023 - 23:28:38 EST




On 2023/7/25 11:23, Muchun Song wrote:


On Jul 25, 2023, at 11:09, Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> wrote:



On 2023/7/25 10:35, Muchun Song wrote:
On Jul 24, 2023, at 17:43, Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> wrote:

The mm/vmscan.c file is too large, so separate the shrinker-related
code from it into a separate file. No functional changes.

Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
---
include/linux/shrinker.h | 3 +
mm/Makefile | 4 +-
mm/shrinker.c | 707 +++++++++++++++++++++++++++++++++++++++
mm/vmscan.c | 701 --------------------------------------
4 files changed, 712 insertions(+), 703 deletions(-)
create mode 100644 mm/shrinker.c

diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index 224293b2dd06..961cb84e51f5 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -96,6 +96,9 @@ struct shrinker {
*/
#define SHRINKER_NONSLAB (1 << 3)

+unsigned long shrink_slab(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg,
+ int priority);
A good cleanup, vmscan.c is so huge.
I'd like to introduce a new header in mm/ directory and contains those
declarations of functions (like this and other debug function in
shrinker_debug.c) since they are used internally across mm.

How about putting them in the mm/internal.h file?

Either is fine to me.

OK, will do in the next version.



Thanks.