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