Re: [PATCH v21 14/19] perf, tools, jevents: Handle header line in mapfile

From: Arnaldo Carvalho de Melo
Date: Mon Oct 03 2016 - 20:36:48 EST


Em Thu, Sep 15, 2016 at 03:24:51PM -0700, Sukadev Bhattiprolu escreveu:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> To work with existing mapfiles, assume that the first line in
> 'mapfile.csv' is a header line and skip over it.

Moved this more to the front of this patchkit so that when testing it,
reproducing the tests performed earlier, one don't have to remove the
header.

- Arnaldo

> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
> ---
>
> Changelog[v2]
> All architectures may not use the "Family" to identify. So,
> assume first line is header.
> ---
> tools/perf/pmu-events/jevents.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
> index f550cad..9cdfbaa 100644
> --- a/tools/perf/pmu-events/jevents.c
> +++ b/tools/perf/pmu-events/jevents.c
> @@ -492,7 +492,12 @@ static int process_mapfile(FILE *outfp, char *fpath)
>
> print_mapping_table_prefix(outfp);
>
> - line_num = 0;
> + /* Skip first line (header) */
> + p = fgets(line, n, mapfp);
> + if (!p)
> + goto out;
> +
> + line_num = 1;
> while (1) {
> char *cpuid, *version, *type, *fname;
>
> @@ -536,8 +541,8 @@ static int process_mapfile(FILE *outfp, char *fpath)
> fprintf(outfp, "},\n");
> }
>
> +out:
> print_mapping_table_suffix(outfp);
> -
> return 0;
> }
>
> --
> 1.8.3.1