Web lists-archives.com

Re: perf-core build fails on powerpc




Em Tue, Mar 13, 2018 at 12:17:42PM -0700, Sukadev Bhattiprolu escreveu:
> 
> 
> Building perf on Powerpc seems broken when using Arnaldo's perf/core branch
> with HEAD as:
> 
>     1b442ed ("perf test: Fix exit code for record+probe_libc_inet_pton.sh")
> 
> It maybe related to this commit:

Humpf, this should've been caught by one of the powerpc crossbuild
containers I have in place... will check why the jevents.c code is not
being stressed...

- Arnaldo
 
> 	commit d596299
> 	Author: John Garry <john.garry@xxxxxxxxxx>
> 	Date:   Thu Mar 8 18:58:29 2018 +0800
> 
> 	    perf vendor events: Add support for pmu events vendor subdirectory
> 
> Reverting this hunk from tools/perf/pmu-events/jevents.c, seems to fix the
> problem for me.
> 
> @@ -957,8 +963,12 @@ static int process_one_file(const char *fpath, const struct
>  
>  
>         /* model directory, reset topic */
> +#if 0
>         if ((level == 1 && is_dir && is_leaf_dir(fpath)) ||
>             (level == 2 && is_dir)) {
> +#else
> +       if (level == 1 && is_dir) {
> +#endif
> 
> 
> The problem is that the tools/perf/pmu-events/pmu-events.c file generated by
> the jevents program is missing the "prefix" lines like:
> 
> 	struct pmu_event pme_power8[] = {
> and 
> 	struct pmu_event pme_power9[] = {
> 
> 
> i.e the pmu-events.c begins like:
> ---
> 
> #include "../../pmu-events/pmu-events.h"
> {
>         .name = "pm_data_from_dl2l3_mod",
>         .event = "event=0x4c048",
>         .desc = "The processor's data cache was reloaded with Modified (M) data from another chip's L2 or L3 on a different Node or Group (Distant), as this chip due to a demand load",
>         .topic = "cache",
>         .long_desc = "The processor's data cache was reloaded with Modified (M) data from another chip's L2 or L3 on a different Node or Group (Distant), as this chip due to either only demand loads or demand loads plus prefetches if MMCR1[16] is 1",
> },
> 
> ---
> 
> Below is the debug and info messages at the time of failure:
> 
> ---
> 
>   HOSTCC   /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/jevents.o
>   HOSTLD   /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/jevents-in.o
>   LINK     /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/jevents
>   GEN      /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/pmu-events.c
> d 0      50 powerpc              pmu-events/arch/powerpc
> d 1    4096 power8               pmu-events/arch/powerpc/power8
> f 2   10275 cache.json           pmu-events/arch/powerpc/power8/cache.json
> f 2     302 floating-point.json  pmu-events/arch/powerpc/power8/floating-point.json
> f 2   29283 marked.json          pmu-events/arch/powerpc/power8/marked.json
> f 2   12028 memory.json          pmu-events/arch/powerpc/power8/memory.json
> f 2  159271 other.json           pmu-events/arch/powerpc/power8/other.json
> f 2   10777 pipeline.json        pmu-events/arch/powerpc/power8/pipeline.json
> f 2    3781 pmc.json             pmu-events/arch/powerpc/power8/pmc.json
> f 2    6664 translation.json     pmu-events/arch/powerpc/power8/translation.json
> f 2   25104 frontend.json        pmu-events/arch/powerpc/power8/frontend.json
> d 1    4096 power9               pmu-events/arch/powerpc/power9
> f 2    1096 floating-point.json  pmu-events/arch/powerpc/power9/floating-point.json
> f 2    5503 cache.json           pmu-events/arch/powerpc/power9/cache.json
> f 2   14885 frontend.json        pmu-events/arch/powerpc/power9/frontend.json
> f 2   27807 marked.json          pmu-events/arch/powerpc/power9/marked.json
> f 2    4820 memory.json          pmu-events/arch/powerpc/power9/memory.json
> f 2   85387 other.json           pmu-events/arch/powerpc/power9/other.json
> f 2   23839 pipeline.json        pmu-events/arch/powerpc/power9/pipeline.json
> f 2    5138 pmc.json             pmu-events/arch/powerpc/power9/pmc.json
> f 2    9897 translation.json     pmu-events/arch/powerpc/power9/translation.json
> f 1     440 mapfile.csv          pmu-events/arch/powerpc/mapfile.csv
> jevents: Processing mapfile pmu-events/arch/powerpc/mapfile.csv
>   CC       /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/pmu-events.o
> /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/pmu-events.c:2:1: error: expected identifier or ‘(’ before ‘{’ token
>  {
>  ^
> /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/pmu-events.c:8:2: error: expected identifier or ‘(’ before ‘,’ token
>  },
>   ^
> /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/pmu-events.c:15:2: error: expected identifier or ‘(’ before ‘,’ token
>  },
>   ^
> /home/suka/linux-acme.git/tools/perf/perf-obj/pmu-events/pmu-events.c:22:2: error: expected identifier or ‘(’ before ‘,’ token
>  },
> 
> ----