From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757482AbcHCDAh (ORCPT ); Tue, 2 Aug 2016 23:00:37 -0400 Received: from smtprelay0140.hostedemail.com ([216.40.44.140]:44013 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755572AbcHCDA3 (ORCPT ); Tue, 2 Aug 2016 23:00:29 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2393:2553:2559:2562:3138:3139:3140:3141:3142:3352:3622:3865:3866:3867:3868:3870:3874:4321:5007:6261:6742:7875:10004:10400:10848:10967:11026:11232:11473:11658:11914:12043:12438:12517:12519:12555:12740:13069:13255:13311:13357:13439:14181:14659:14721:21080:30054:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:1,LUA_SUMMARY:none X-HE-Tag: idea83_19d787ece712e X-Filterd-Recvd-Size: 3339 Date: Tue, 2 Aug 2016 22:59:36 -0400 From: Steven Rostedt To: Josh Poimboeuf Cc: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, Andy Lutomirski , Linus Torvalds , Brian Gerst , Kees Cook , Peter Zijlstra , Frederic Weisbecker , Byungchul Park Subject: Re: [PATCH 05/19] x86/dumpstack: fix function graph tracing stack dump reliability issues Message-ID: <20160802225936.5b6dad93@grimm.local.home> In-Reply-To: <20160803025012.bmte6hjhcd6lotod@treble> References: <20160729222036.340b51ce@grimm.local.home> <20160730135125.qqw5qz24szlc2crz@treble> <20160801102821.1d6261a9@gandalf.local.home> <20160801153633.c7sa2rclkqwbdagd@treble> <20160802210011.k6li4mnyvky5jtev@treble> <20160802171610.09156c90@gandalf.local.home> <20160802221359.tkb3mkjzkq3petrq@treble> <20160802191622.466f53d2@gandalf.local.home> <20160803015656.j6fxrgucmghh5gfn@treble> <20160802223011.6209e28c@grimm.local.home> <20160803025012.bmte6hjhcd6lotod@treble> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2 Aug 2016 21:50:12 -0500 Josh Poimboeuf wrote: > diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h > index 1e814ae..fc508a7 100644 > --- a/include/linux/ftrace.h > +++ b/include/linux/ftrace.h > @@ -795,7 +795,9 @@ struct ftrace_ret_stack { > unsigned long func; > unsigned long long calltime; > unsigned long long subtime; > +#if defined(CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST) && !defined(CC_USING_FENTRY) We need to make a new defined in ftrace.h: #if defined(CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST) && !defined(CC_USING_FENTRY) # define HAVE_FUNCTION_GRAPH_FP_TEST #endif And use that instead of this && complexity. Or better yet, get rid of the CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST define and only have HAVE_FUNCTION_GRAPH_FP_TEST defined in the asm/ftrace.h in each arch. Then, x86 could just do; #ifndef CC_USING_FENTRY # define HAVE_FUNCTION_GRAPH_FP_TEST #endif -- Steve > unsigned long fp; > +#endif > }; > > /* > diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c > index 9caa9b2..86b2719 100644 > --- a/kernel/trace/trace_functions_graph.c > +++ b/kernel/trace/trace_functions_graph.c > @@ -171,7 +171,9 @@ ftrace_push_return_trace(unsigned long ret, unsigned long func, int *depth, > current->ret_stack[index].func = func; > current->ret_stack[index].calltime = calltime; > current->ret_stack[index].subtime = 0; > +#if defined(CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST) && !defined(CC_USING_FENTRY) > current->ret_stack[index].fp = frame_pointer; > +#endif > *depth = current->curr_ret_stack; > > return 0;