Re: [PATCH] mm/debug: sync up latest migrate_reason to migrate_reason_names

From: Weizhao Ouyang
Date: Fri Sep 17 2021 - 05:49:11 EST


Thank you both.
On 2021/9/17 下午3:03, Huang, Ying wrote:
> Weizhao Ouyang <o451686892@xxxxxxxxx> writes:
>
>> After related migrate page updates, sync up latest migrate_reason to
>> migrate_reason_names, page_owner use it to parse the page migrate
>> reason.
>>
>> Fixes: d1e153fea2a8 ("mm/gup: migrate pinned pages out of movable zone")
>> Fixes: 26aa2d199d6f ("mm/migrate: demote pages during reclaim")
>> Signed-off-by: Weizhao Ouyang <o451686892@xxxxxxxxx>
>> ---
>> mm/debug.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/mm/debug.c b/mm/debug.c
>> index e73fe0a8ec3d..733770b0ed0c 100644
>> --- a/mm/debug.c
>> +++ b/mm/debug.c
>> @@ -25,6 +25,8 @@ const char *migrate_reason_names[MR_TYPES] = {
>> "mempolicy_mbind",
>> "numa_misplaced",
>> "cma",
>> + "longterm_pin",
>> + "demotion",
>> };
>>
>> const struct trace_print_flags pageflag_names[] = {
> Good catch! Thanks!
>
> Reviewed-by: "Huang, Ying" <ying.huang@xxxxxxxxx>
>
> It may be better to use BUILD_BUG_ON() to capture similar issue earlier?

How about move migrate_reason_names into mm/page_owner.c and make it size uninitialized(get rid of MR_TYPES).
Then use BUILD_BUG_ON(ARRAY_SIZE(migrate_reason_names != MR_TYPES)) to check it?

>
> Best Regards,
> Huang, Ying