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

From: Muchun Song
Date: Mon Jul 24 2023 - 23:24:55 EST




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

>
>> Thanks.