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?
Thanks.