From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932408AbeCMT3X (ORCPT ); Tue, 13 Mar 2018 15:29:23 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:6197 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752227AbeCMT3V (ORCPT ); Tue, 13 Mar 2018 15:29:21 -0400 Subject: Re: perf-core build fails on powerpc To: Sukadev Bhattiprolu , Arnaldo Carvalho de Melo References: <20180313191742.GA29120@us.ibm.com> CC: , Michael Ellerman From: John Garry Message-ID: <152d2ba4-fe57-beab-87d5-554a0fede9ae@huawei.com> Date: Tue, 13 Mar 2018 19:29:02 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <20180313191742.GA29120@us.ibm.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.47.91.115] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13/03/2018 19:17, Sukadev Bhattiprolu wrote: > > > 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: > > commit d596299 > Author: John Garry > 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", > }, > > --- > I will check this, thanks and sorry for the hassle. John > 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 > }, > > ---- > > > . >