Re: [PATCH] perf mem2node: Improve warning if detected no memory nodes

From: Arnaldo Carvalho de Melo
Date: Tue Oct 20 2020 - 08:06:40 EST


Em Tue, Oct 20, 2020 at 08:06:27AM +0200, Jiri Olsa escreveu:
> On Mon, Oct 19, 2020 at 08:36:13AM +0800, Leo Yan wrote:
> > Some archs (e.g. x86 and Arm64) don't enable the configuration
> > CONFIG_MEMORY_HOTPLUG by default, if this configuration is not enabled
> > when build the kernel image, the SysFS for memory nodes will be missed.
> > This results in perf tool has no chance to catpure the memory nodes
> > information, when perf tool reports the result and detects no memory
> > nodes, it outputs "assertion failed at util/mem2node.c:99".
> >
> > The output log doesn't give out reason for the failure and users have no
> > clue for how to fix it. This patch changes to use explicit way for
> > warning: it tells user that detected no memory nodes and suggests to
> > enable CONFIG_MEMORY_HOTPLUG for kernel building.
> >
> > Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx>
>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

Thanks, applied.

- Arnaldo


> thanks,
> jirka
>
> > ---
> > tools/perf/util/mem2node.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/mem2node.c b/tools/perf/util/mem2node.c
> > index c84f5841c7ab..03a7d7b27737 100644
> > --- a/tools/perf/util/mem2node.c
> > +++ b/tools/perf/util/mem2node.c
> > @@ -96,7 +96,8 @@ int mem2node__init(struct mem2node *map, struct perf_env *env)
> >
> > /* Cut unused entries, due to merging. */
> > tmp_entries = realloc(entries, sizeof(*entries) * j);
> > - if (tmp_entries || WARN_ON_ONCE(j == 0))
> > + if (tmp_entries ||
> > + WARN_ONCE(j == 0, "No memory nodes, is CONFIG_MEMORY_HOTPLUG enabled?\n"))
> > entries = tmp_entries;
> >
> > for (i = 0; i < j; i++) {
> > --
> > 2.17.1
> >
>

--

- Arnaldo