Re: [PATCH v2 14/19] perf, tools, stat: Support JSON metrics in perf stat

From: Jiri Olsa
Date: Mon Aug 28 2017 - 04:13:49 EST


On Fri, Aug 11, 2017 at 04:26:29PM -0700, Andi Kleen wrote:

SNIP

> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index ac16a9db1fb5..4f049285e3ac 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -516,16 +516,8 @@ char * __weak get_cpuid_str(void)
> return NULL;
> }
>
> -/*
> - * From the pmu_events_map, find the table of PMU events that corresponds
> - * to the current running CPU. Then, add all PMU events from that table
> - * as aliases.
> - */
> -static void pmu_add_cpu_aliases(struct list_head *head, const char *name)
> +char *perf_pmu__getcpuid(void)

please add this function in separate patch

> {
> - int i;
> - struct pmu_events_map *map;
> - struct pmu_event *pe;
> char *cpuid;

also you could make cpuid static and not rerun the check
every time it's called

jirka

> static bool printed;
>
> @@ -535,12 +527,26 @@ static void pmu_add_cpu_aliases(struct list_head *head, const char *name)
> if (!cpuid)
> cpuid = get_cpuid_str();
> if (!cpuid)
> - return;
> + return NULL;
>
> if (!printed) {
> pr_debug("Using CPUID %s\n", cpuid);
> printed = true;
> }
> + return cpuid;
> +}