From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753244AbbDGIyF (ORCPT ); Tue, 7 Apr 2015 04:54:05 -0400 Received: from casper.infradead.org ([85.118.1.10]:37746 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752832AbbDGIyD (ORCPT ); Tue, 7 Apr 2015 04:54:03 -0400 Date: Tue, 7 Apr 2015 10:53:47 +0200 From: Peter Zijlstra To: Stephen Rothwell Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Alexei Starovoitov , Steven Rostedt , Masami Hiramatsu Subject: Re: linux-next: build failure after merge of the tip tree Message-ID: <20150407085347.GH23123@twins.programming.kicks-ass.net> References: <20150407171858.2ad46594@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150407171858.2ad46594@canb.auug.org.au> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 07, 2015 at 05:18:58PM +1000, Stephen Rothwell wrote: > Hi all, > > After merging the tip tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: > > kernel/events/core.c: In function 'perf_event_set_bpf_prog': > kernel/events/core.c:6732:15: error: 'struct bpf_prog_aux' has no member named 'prog_type' > if (prog->aux->prog_type != BPF_PROG_TYPE_KPROBE) { > ^ > > Caused by commit 2541517c32be ("tracing, perf: Implement BPF programs > attached to kprobes"). > > I have used the tip tree from next-20150402 for today. Hmm, tip/master builds fine on ppc64 for me, but does something like the below help? --- Subject: perf: Fix BPF filter crud The BPF filter crud got its CONFIG deps wrong, fix it. Signed-off-by: Peter Zijlstra (Intel) --- kernel/events/core.c | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index 06917d5..1d94b92 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -6711,6 +6711,25 @@ static void perf_event_free_filter(struct perf_event *event) ftrace_profile_free_filter(event); } +#else /* EVENT_TRACING */ + +static inline void perf_tp_register(void) +{ +} + +static int perf_event_set_filter(struct perf_event *event, void __user *arg) +{ + return -ENOENT; +} + +static void perf_event_free_filter(struct perf_event *event) +{ +} + +#endif /* EVENT_TRACING */ + +#if defined CONFIG_BPF_EVENTS && defined CONFIG_EVENT_TRACING + static int perf_event_set_bpf_prog(struct perf_event *event, u32 prog_fd) { struct bpf_prog *prog; @@ -6754,20 +6773,7 @@ static void perf_event_free_bpf_prog(struct perf_event *event) } } -#else - -static inline void perf_tp_register(void) -{ -} - -static int perf_event_set_filter(struct perf_event *event, void __user *arg) -{ - return -ENOENT; -} - -static void perf_event_free_filter(struct perf_event *event) -{ -} +#else /* BPF_EVENTS && EVENT_TRACING */ static int perf_event_set_bpf_prog(struct perf_event *event, u32 prog_fd) { @@ -6777,7 +6783,8 @@ static int perf_event_set_bpf_prog(struct perf_event *event, u32 prog_fd) static void perf_event_free_bpf_prog(struct perf_event *event) { } -#endif /* CONFIG_EVENT_TRACING */ + +#endif /* BPF_EVENTS && EVENT_TRACING */ #ifdef CONFIG_HAVE_HW_BREAKPOINT void perf_bp_event(struct perf_event *bp, void *data)