[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3cf9bb7f-618e-4e4b-32d6-4d3c207b9a9a@nvidia.com>
Date: Fri, 17 Sep 2021 17:30:16 -0700
From: John Hubbard <jhubbard@...dia.com>
To: Weizhao Ouyang <o451686892@...il.com>,
"Huang, Ying" <ying.huang@...el.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Pavel Tatashin <pasha.tatashin@...een.com>,
Oscar Salvador <osalvador@...e.de>,
Yang Shi <shy828301@...il.com>, Zi Yan <ziy@...dia.com>,
Dave Hansen <dave.hansen@...ux.intel.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm/debug: sync up latest migrate_reason to
migrate_reason_names
On 9/17/21 02:48, Weizhao Ouyang wrote:
...
>>> const struct trace_print_flags pageflag_names[] = {
>> Good catch! Thanks!
>>
>> Reviewed-by: "Huang, Ying" <ying.huang@...el.com>
>>
>> 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?
>
A couple more thoughts:
1) From a naming and location point of view, migrate_reason_names[]
really doesn't want to be located in page_owner.c.
2) There are actually three places to synchronize, not two. And in fact,
sure enough, the MR_CONTIG_RANGE is already drifting out of synch: it
has a string of "cma" in mm/debug.c, versus "contig_range" in
include/trace/events/migrate.h.
So...is it possible to use the macro and enums in
include/trace/events/migrate.h, to define the connection between
migrate_reason and a string, everywhere?
thanks,
--
John Hubbard
NVIDIA
Powered by blists - more mailing lists