Re: [PATCH v4 6/8] perf/tools: Enhance JSON/metric infrastructure to handle "?"

From: Jiri Olsa
Date: Thu Mar 12 2020 - 06:52:12 EST


On Tue, Mar 10, 2020 at 03:34:55PM -0300, Arnaldo Carvalho de Melo wrote:

SNIP

> > diff --git a/tools/perf/arch/powerpc/util/header.c b/tools/perf/arch/powerpc/util/header.c
> > index 3b4cdfc5efd6..036f6b2ce202 100644
> > --- a/tools/perf/arch/powerpc/util/header.c
> > +++ b/tools/perf/arch/powerpc/util/header.c
> > @@ -7,6 +7,11 @@
> > #include <string.h>
> > #include <linux/stringify.h>
> > #include "header.h"
> > +#include "metricgroup.h"
> > +#include "evlist.h"
> > +#include <dirent.h>
> > +#include "pmu.h"
> > +#include <api/fs/fs.h>
> >
> > #define mfspr(rn) ({unsigned long rval; \
> > asm volatile("mfspr %0," __stringify(rn) \
> > @@ -16,6 +21,8 @@
> > #define PVR_VER(pvr) (((pvr) >> 16) & 0xFFFF) /* Version field */
> > #define PVR_REV(pvr) (((pvr) >> 0) & 0xFFFF) /* Revison field */
> >
> > +#define SOCKETS_INFO_FILE_PATH "/devices/hv_24x7/interface/"
> > +
> > int
> > get_cpuid(char *buffer, size_t sz)
> > {
> > @@ -44,3 +51,18 @@ get_cpuid_str(struct perf_pmu *pmu __maybe_unused)
> >
> > return bufp;
> > }
> > +
> > +int arch_get_runtimeparam(void)
> > +{
> > + int count;
> > + char path[PATH_MAX];
> > + char filename[] = "sockets";
> > +
> > + snprintf(path, PATH_MAX,
> > + SOCKETS_INFO_FILE_PATH "%s", filename);

also, what's the point of using snprintf in here?

jirka